class Solution {
public:
int rangeBitwiseAnd(int m, int n) {
/*暴力解法 超时*/
// for(int i=m;i<=n;i++)
// {
// m=m&i;
// }
// return m;
//Brian Kernighan的应用
//对m n进行右移位运算直到他们相等
while(m<n)// Brian Kernighan 清除公共前缀右侧的bit
{
n=n&(n-1);//去除n最右侧的1
}
return m&n;
}
};
Leetcode:201. 数字范围按位与
最新推荐文章于 2022-04-10 21:09:01 发布