思路:
将问题转化为:求m和n的二进制表示的前缀都为1的个数。
举例:m=5,n=7
5:101
6:110
7:111
求得:bit = 1
class Solution {
public:
int rangeBitwiseAnd(int m, int n) {
int bit = 0;
while(m != n) {
m >>= 1;
n >>= 1;
bit++;
}
return m << bit;
}
};