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?