# 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*.

&#x20;

**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
```

&#x20;

**Constraints:**

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

```python
class Solution:
    def rangeBitwiseAnd(self, left: int, right: int) -> int:
        # Totally Math logic 
        # https://www.youtube.com/watch?v=-qrpJykY2gE&ab_channel=TECHDOSE
        s = 0
        while left != right:
            left = left >> 1
            right = right >> 1
            s += 1
        return left << s
```
