190. Reverse Bits
題目原文
Reverse bits of a given 32 bits unsigned integer.
Example:
Input: 43261596
Output: 964176192
Explanation: 43261596 represented in binary as 
             00000010100101000001111010011100, 
             return 964176192 represented in binary as 
             00111001011110000010100101000000.Follow up:
If this function is called many times, how would you optimize it?
解題思路
程式解答
class Solution 
{
public:
    uint32_t reverseBits(uint32_t n) 
    {
        uint32_t cnt = 0xffffffff;
        uint32_t bit = 0;
        uint32_t ans = 0;
        
        while (cnt)
        {
            bit = n % 2;
            ans <<= 1;
            ans += bit;
            cnt >>= 1;
            n >>= 1;
        }
            
        return ans;
    }
};Last updated
Was this helpful?