题目
Reverse bits of a given 32 bits unsigned integer.
解题思路
- 每次取这个数的最后一位,然后将其左移到对应的位置,加到结果里
- 转换成二进制字符串,然后翻转
代码
class Solution:
def reverseBits(self, n: int) -> int:
res, power = 0, 31
while n:
res += (n & 1) << power
n >>= 1
power -= 1
return res
class Solution:
def reverseBits(self, n: int) -> int:
return int(bin(n)[2:].zfill(32)[::-1], 2)