0201 - Bitwise AND of Numbers Range
0201 - Bitwise AND of Numbers Range
Given two integers left and right that represent the range [left, right], return the bitwise AND of all numbers in this range, inclusive.
Examples
Input: left = 5, right = 7 Output: 4
Input: left = 0, right = 0 Output: 0
Input: left = 1, right = 2147483647 Output: 0
Constraints
0 <= left <= right <= 231 - 1
Java Solution
class Solution {
public int rangeBitwiseAnd(int m, int n) {
while (m < n) {
// turn off rightmost 1-bit
n = n & (n - 1);
}
return m & n;
}
}
Last updated