LeetCode 面试经典150题 201.数字范围按位与
题目:给你两个整数 left
和 right
,表示区间 [left, right]
,返回此区间内所有数字 按位与 的结果(包含 left
、right
端点)。
提示:0 <= left <= right <= 2^31 - 1
思路:
位与的特性:只要参与位与的元素有一个为 0
,那么位与结果就为 0
。换句话说,如果参与位与的元素都相同,位与结果就是这个相同元素。
代码:
class Solution {
public int rangeBitwiseAnd(int left, int right) {
int count = 0; // 记录右移次数
while (left != right) {
count++;
left >>= 1;
right >>= 1;
}
return left <<= count; // 左移
}
}
性能:
原文地址:https://blog.csdn.net/qq_57349657/article/details/142471551
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!