LeetCode in Net

201. Bitwise AND of Numbers Range

Medium

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:

Solution

public class Solution {
    public int RangeBitwiseAnd(int left, int right) {
        var shift = 0;
        for (; left != right; left >>= 1, right >>= 1, shift++) { 

        }
        return left << shift;
    }
}