leetcode201. 数字范围按位与

1、题目

https://leetcode-cn.com/problems/bitwise-and-of-numbers-range/

2、题意

题解1:位运算
二进制从最高位开始 相等并且为1 将当前这位加到结果,数字按位与,取其高位无变化数;

class Solution {
public:
    int rangeBitwiseAnd(int m, int n) {
        int res = 0;
        for (int i = 30; i >= 0; i -- ) {
            if ((m >> i & 1) != (n >> i & 1)) break;
            if (m >> i & 1) res += 1 << i;
        }
        return res;
    }
};

你可能感兴趣的:(leetcode)