Problem Statement

Reverse bits of a given 32 bits unsigned integer.

Note:

Follow up:

If this function is called many times, how would you optimize it?

Example 1:

Input: n = 00000010100101000001111010011100
Output:    964176192 (00111001011110000010100101000000)
Explanation:The input binary string00000010100101000001111010011100 represents the unsigned integer 43261596, so return 964176192 which its binary representation is00111001011110000010100101000000.

Example 2:

Input: n = 11111111111111111111111111111101
Output:   3221225471 (10111111111111111111111111111111)
Explanation:The input binary string11111111111111111111111111111101 represents the unsigned integer 4294967293, so return 3221225471 which its binary representation is10111111111111111111111111111111.

Constraints:

Problem Link

Reverse Bits - LeetCode

Code

class Solution {
public:
  
    uint32_t reverseBits(uint32_t n) {
        
        uint32_t rev = 0;

    for(int i=0;i<32;i++)
    {
        rev = rev<<1 | (n>>i)&1;
    }

   

    return rev;
        
    }
};