Reverse Bits — 32-Bit Reversal

Sanjeev SharmaSanjeev Sharma
1 min read

Advertisement

Problem

Reverse bits of a 32-bit unsigned integer.

Example: 00000010100101000001111010011100 → 00111001011110000010100101000000


Solutions

Python

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

C

uint32_t reverseBits(uint32_t n) {
    uint32_t r=0;
    for(int i=0;i<32;i++){r=(r<<1)|(n&1);n>>=1;}
    return r;
}

C++

class Solution {
public:
    uint32_t reverseBits(uint32_t n){
        uint32_t r=0;
        for(int i=0;i<32;i++){r=(r<<1)|(n&1);n>>=1;}
        return r;
    }
};

Complexity

  • Time: O(32) = O(1) | Space: O(1)

Advertisement

Sanjeev Sharma

Written by

Sanjeev Sharma

Full Stack Engineer · E-mopro