# LeetCode 190: Reverse Bits — Step-by-Step Visual Trace

**Easy** — Bit Manipulation | Math

## The Problem

Given a 32-bit unsigned integer, reverse the bits and return the resulting integer.

## Approach

Iterate through all 32 bits of the input number, extracting each bit from right to left using bitwise AND with 1, then building the reversed number by left-shifting and adding each extracted bit. Use right shift to process the next bit of the input.

**Time:** O(1) · **Space:** O(1)

## Code

```python
class Solution:
    def reverseBits(self, n: int) -> int:
        reversed_num = 0
        for _ in range(32):
            reversed_num = (reversed_num << 1) | (n & 1)
            n = n >> 1
        return reversed_num
```

## Watch It Run

> **[Open interactive visualization](https://tracelit.dev/app?trace=0190_reverse-bits)**

> **Try it yourself:** Open [TraceLit](https://tracelit.dev/app?trace=0190_reverse-bits) and step through every line.

---

*Built with [TraceLit](https://tracelit.dev) — the visual algorithm tracer for LeetCode practice.*
