Leetcode 201. Bitwise AND of Numbers Range
Problem Statement :
Given two integers left
and right
that represent the range [left, right].
return the bitwise AND of all numbers in this range, inclusive.
Examples :
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
Constrains :
0 <= left <= right <= 231 - 1
Explanation
Revision
Solution (Py3) :
class Solution:
def rangeBitwiseAnd(self, left: int, right: int) -> int:
cnt = 0
while left != right:
left >>= 1
right >>= 1
cnt += 1
return left << cnt