Bitwise AND of Numbers Range

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

class Solution {
public:
    int rangeBitwiseAnd(int m, int n) {
        int shift =0;
        while(m < n)
        {
            m >>=1;
            n >>=1;
            shift++;
        }
        m <<= shift;
        return m;
    }
};

注意:返回公共前缀。

posted @ 2020-08-23 09:21  zmachine  阅读(85)  评论(0编辑  收藏  举报