Bitwise AND of Numbers Range
Desicription
Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers in this range, inclusive.
Example 1:
代码语言:javascript复制Input: [5,7]
Output: 4
Example 2:
代码语言:javascript复制Input: [0,1]
Output: 0
Solution
代码语言:javascript复制class Solution {
public:
int rangeBitwiseAnd(int m, int n) {
return n>m?(rangeBitwiseAnd(m>>1, n>>1) << 1):n;
}
};