Reverse Bits — 32-Bit Reversal
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