Given a range [m, n] where 0 <= m <= n <= 2147483647, return the bitwise AND of all numbers in this range, inclusive.
Example 1:
Input: [5,7] Output: 4
Example 2:
Input: [0,1] Output: 0
// 23/04/2020
int rangeBitwiseAnd(int m, int n) {
int mask = 1 << 30;
int res = 0;
while(mask && ((m&mask) == (n&mask))){
res |= (n&mask?mask:0);
mask = mask >> 1;
}
return res;
}