For example, given the range [5, 7], you should return 4.
Credits:
Special thanks to @amrsaqr for adding this problem and creating all test cases.
---
Solution: A trick question. See http://yucoding.blogspot.com/2015/06/leetcode-question-bitwise-and-of.html for a good explanation.
public class Solution {
public int rangeBitwiseAnd(int m, int n) {
int pos = 0;
while (m < n) {
pos++;
m >>= 1;
n >>= 1;
}
return m << pos;
}
}
No comments:
Post a Comment