LeetCode 201. Bitwise AND of Numbers Range

Description

https://leetcode.com/problems/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

Explanation

make m and n same, then add missing zeros

Python Solution

class Solution:
    def rangeBitwiseAnd(self, m: int, n: int) -> int:
        
        shift = 0
        
        while m < n:
            m = m >> 1
            n = n >> 1
            shift += 1
            
        return m << shift
  • Time complexity: O(1).
  • Space complexity: O(1).

One Thought to “LeetCode 201. Bitwise AND of Numbers Range”

Leave a Reply

Your email address will not be published. Required fields are marked *