Skip to content

Reverse Bits

Reverse the bits of a given 32-bit unsigned integer.

You need to solve this problem efficiently.

InputOutputExplanation
Example 1Result 1Explanation for example 1
Example 2Result 2Explanation for example 2
  • Constraint 1 for Reverse Bits
  • Constraint 2
  • Constraint 3
ApproachTimeSpaceBest When
IterateO(n)O(1)When applicable
Bit ManipulationO(n)O(1)When applicable
Byte ReversalO(n)O(1)When applicable
★ Recommended

This approach provides an efficient solution for reverse bits.

⏱ Time O(n) Single pass 💾 Space O(1) Minimal storage
reverse_bits_iterate.py
def reverse_bits_iterate(n: int) -> int:
"""Reverse bits of a 32-bit unsigned integer by iteration."""
result = 0
for i in range(32):
result = (result << 1) | (n & 1)
n >>= 1
return result
# Test cases
print(reverse_bits_iterate(43261596)) # 964176192
🎯 Interview Favourite

This approach provides an efficient solution for reverse bits.

⏱ Time O(n) Single pass 💾 Space O(1) Minimal storage
reverse_bits_bit_manipulation.py
def reverse_bits_bit_manipulation(n: int) -> int:
"""
Bit manipulation approach - reverse bits one by one using bit operations.
Time: O(1) - exactly 32 iterations for a 32-bit integer
Space: O(1) - constant extra space
"""
result = 0
for i in range(32):
# Extract the rightmost bit of n
bit = n & 1
# Shift result left and add the bit
result = (result << 1) | bit
# Shift n right for next iteration
n >>= 1
return result
print(reverse_bits_bit_manipulation(0b00000010100101000001111010011100)) # 964176192
print(reverse_bits_bit_manipulation(0b11111111111111111111111111111101)) # 3221225469
✓ Simple

This approach provides an efficient solution for reverse bits.

⏱ Time O(n) Single pass 💾 Space O(1) Minimal storage
reverse_bits_byte_reversal.py
# Python Solution
# Problem: reverse-bits
# Approach: byte_reversal
# Implementation placeholder for reverse_bits_byte_reversal
# This file is auto-generated and should contain the solution code.
def reverse_bits_byte_reversal():
pass
if __name__ == "__main__":
pass