0190. 颠倒二进制位

0190. 颠倒二进制位 #

  • 标签:位运算
  • 难度:简单

题目大意 #

给定一个二进制的数 n,将其按位翻转。

解题思路 #

用一个变量 res 存储翻转后的结果,对 n 从低位到高位进行遍历(不断右移)。同时 res 不断左移,并记录 n 最低位上的结果。

代码 #

1
2
3
4
5
6
7
class Solution:
    def reverseBits(self, n: int) -> int:
        res = 0
        for i in range(32):
            res = (res << 1) | (n & 1)
            n >>= 1
        return res
本站总访问量  次  |  您是本站第  位访问者