201. Bitwise AND of Numbers Range

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public int rangeBitwiseAnd(int left, int right) {
int mask = 1 << 30;
int ans = 0;
while (mask != 0 && (left & mask) == (right & mask)) {
ans |= (left & mask);
mask >>= 1;
}
return ans;
}
}

References

201. Bitwise AND of Numbers Range