给定范围[m,n],其中0 <= m <= n <= 2147483647,输出此范围内所有数字的按位AND,包括端值。
例如,给定范围[5,7],输出返回4。
样例
样例1
输入: m=5, n=7
输出: 4
样例2
输入: m=14, n=15
输出: 14
class Solution {
public:
/**
* @param m: an Integer
* @param n: an Integer
* @return: the bitwise AND of all numbers in [m,n]
*/
int rangeBitwiseAnd(int m, int n) {
// Write your code here
int ret = m;
for(int i = m + 1; i <= n; i++)
{
ret = ret & i;
}
return ret;
}
};