LeetCode201. Bitwise AND of Numbers Range

文章目录

    • 一、题目
    • 二、题解

一、题目

Given two integers left and right that represent the range [left, right], return the bitwise AND of all numbers in this range, inclusive.

Example 1:

Input: left = 5, right = 7
Output: 4
Example 2:

Input: left = 0, right = 0
Output: 0
Example 3:

Input: left = 1, right = 2147483647
Output: 0

Constraints:

0 <= left <= right <= 231 - 1

二、题解

class Solution {
public:
    int rangeBitwiseAnd(int left, int right) {
        while(left < right){
            right -= (right & -right);
        }
        return right;
    }
};

你可能感兴趣的:(算法,数据结构,leetcode,c++,位运算)