# 颠倒二进制位

颠倒给定的 32 位无符号整数的二进制位。

提示:

 

示例 1:

输入:n = 00000010100101000001111010011100
输出:964176192 (00111001011110000010100101000000)
解释:输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596 因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000

示例 2:

输入:n = 11111111111111111111111111111101
输出:3221225471 (10111111111111111111111111111111)
解释:输入的二进制串 11111111111111111111111111111101 表示无符号整数 4294967293,
     因此返回 3221225471 其二进制表示形式为 10111111111111111111111111111111 。

 

提示:

 

进阶: 如果多次调用这个函数,你将如何优化你的算法?

## template ```python class Solution: def reverseBits(self, n: int) -> int: j = 0 y = bin(n)[2::] if len(y) != 32: j = 32 - len(y) m = y[::-1] m = m + "0" * j return int(m, 2) ``` ## 答案 ```python ``` ## 选项 ### A ```python ``` ### B ```python ``` ### C ```python ```