leetcode-颠倒二进制位

190. 颠倒二进制位

题解:

我们可以使用位运算来解决这个问题。具体步骤如下:

  1. 初始化一个变量res为0,用于存储颠倒后的二进制位。
  2. 循环32次,每次将n的最低位取出,并将其添加到res的最高位上。
  3. 将n右移一位,将res左移一位。
  4. 返回res作为最终结果。
class Solution:
    def reverseBits(self, n: int) -> int:
        res = 0
        for i in range(32):
            res = (res << 1) | n & 1
            n >>= 1
        return res

你可能感兴趣的:(leetcode)