Reverse Bits

Reverse the binary representation.

Problem: Reverse the bits of a 3232-bit unsigned integer.

function reverseBits(n):
    result = 0
    for i from 0 to 31:
        result = (result << 1) | (n & 1)
        n = n >> 1
    return result

Optimization: Process in chunks. Precompute reversed bytes, combine:

reversed = (table[n & 0xFF] << 24) |
           (table[(n >> 8) & 0xFF] << 16) |
           (table[(n >> 16) & 0xFF] << 8) |
           (table[n >> 24])

Time: O(1)O(1) with lookup table. Space: O(1)O(1) or O(256)O(256) for table.