Bit-by-bit reversal.
def reverseBits(n): result = 0 for i in range(32): result = (result << 1) | (n & 1) n >>= 1 return result
time (32 iterations), space.
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
##### ###### ##### ### # # ### # # ###### ## ## ## ## ## ## ## # # # # # ## ##### #### ##### # # # # # # # #### ## # ## ## ## ## # # # # # ## ## # ###### ## ### # ### # ######
The approach
Bit-by-bit reversal.
def reverseBits(n): result = 0 for i in range(32): result = (result << 1) | (n & 1) n >>= 1 return result
time (32 iterations), space.