leetcode做题笔记201. 数字范围按位与

给你两个整数 leftright ,表示区间 [left, right] ,返回此区间内所有数字 按位与 的结果(包含 leftright 端点)。

示例 1:

复制代码
输入:left = 5, right = 7
输出:4

示例 2:

复制代码
输入:left = 0, right = 0
输出:0

示例 3:

复制代码
输入:left = 1, right = 2147483647
输出:0

思路一:模拟题意

c++解法

cpp 复制代码
class Solution {
public:
    int rangeBitwiseAnd(int left, int right) {
        int shift=0;
        while(left<right){
            left=left>>1;
            right=right>>1;
            shift++;
        }
        return left<<shift;
    }
};

分析:

本题要求两个整数之间所有数字按位与的结果,即按照题返回两个整数二进制字符之间的公共前缀,利用双指针两边向中间靠近求出即可

总结:

本题考察对按位与的思考,原求两个数字之间所有数按位与的结果可转换未求二进制字符间公共前缀,利用双指针的方法解决

相关推荐
知识分享小能手2 小时前
jQuery 入门学习教程,从入门到精通, jQuery在HTML5中的应用(16)
前端·javascript·学习·ui·jquery·html5·1024程序员节
0和1的舞者18 小时前
网络通信的奥秘:HTTP详解 (七)
服务器·网络·网络协议·http·okhttp·软件工程·1024程序员节
liu****21 小时前
12.线程(二)
linux·开发语言·c++·1024程序员节
小苏兮1 天前
【把Linux“聊”明白】编译器gcc/g++与调试器gdb/cgdb:从编译原理到高效调试
java·linux·运维·学习·1024程序员节
unable code1 天前
攻防世界-Misc-掀桌子
网络安全·ctf·misc·1024程序员节
被AI抢饭碗的人2 天前
linux:io基础
1024程序员节
GIS数据转换器2 天前
2025无人机在电力交通中的应用实践
运维·人工智能·物联网·安全·无人机·1024程序员节
TDengine (老段)2 天前
TDengine 数学函数 CRC32 用户手册
java·大数据·数据库·sql·时序数据库·tdengine·1024程序员节
草莓熊Lotso2 天前
C++ 继承特殊场景解析:友元、静态成员与菱形继承的底层逻辑
服务器·开发语言·c++·人工智能·经验分享·笔记·1024程序员节
-孤存-2 天前
深入浅出:TCP/UDP协议核心原理
网络·网络协议·tcp/ip·1024程序员节