LeetCode刷题笔记第190题:颠倒二进制位

LeetCode刷题笔记第190题:颠倒二进制位

题目:

颠倒输入的二进制数

想法:

通过位运算来实现,以下通过代码逐步说明

class Solution:
    def reverseBits(self, n: int) -> int:
        result = 0
        for i in range(32):
            result = (result << 1) | (n & 1)
            n >>= 1  # 丢弃最后一位数
        return result

要想输出颠倒的二进制数,实际是逆序输出二进制数。
位运算中&与运算都1为1,| 或运算有1为1。
result = (result << 1) | (n & 1)是将输入的最后一位通过与远算取出,再用或运算赋值给result的最后一位。
遍历输入则可获得颠倒输入的二进制数

时间复杂度:如果位数固定则为O(1),若位数不固定则为O(n)
空间复杂度:如果位数固定则为O(1),若位数不固定则为O(n)

相关推荐

  1. LeetCode笔记190颠倒二进制

    2024-05-11 07:32:09       12 阅读
  2. leetcode颠倒二进制

    2024-05-11 07:32:09       23 阅读
  3. leetcode-颠倒二进制

    2024-05-11 07:32:09       41 阅读
  4. 【C】190 颠倒二进制

    2024-05-11 07:32:09       14 阅读
  5. leetcode笔记

    2024-05-11 07:32:09       25 阅读
  6. LeetCode笔记71:简化路径

    2024-05-11 07:32:09       31 阅读
  7. LeetCode笔记217:存在重复元素

    2024-05-11 07:32:09       12 阅读

最近更新

  1. Electron 简单搭建项目

    2024-05-11 07:32:09       0 阅读
  2. adb 常用的命令总结

    2024-05-11 07:32:09       2 阅读
  3. gcc: options: -specs

    2024-05-11 07:32:09       1 阅读
  4. Python题解Leetcode Hot 100之栈和堆

    2024-05-11 07:32:09       1 阅读
  5. docker容器如何与本地配置文件关联

    2024-05-11 07:32:09       1 阅读
  6. SQL 字段类型-上

    2024-05-11 07:32:09       1 阅读
  7. C++ 入门04:数组与字符串

    2024-05-11 07:32:09       1 阅读

热门阅读

  1. 常用sql命令

    2024-05-11 07:32:09       11 阅读
  2. Quartz.Net(1)

    2024-05-11 07:32:09       11 阅读
  3. Quartz.Net(2)——NetCore3.1整合Quartz.Net

    2024-05-11 07:32:09       11 阅读
  4. 一款开源的PHP版本的网盘程序

    2024-05-11 07:32:09       9 阅读
  5. 基于STM32的宠物箱温度湿度监控系统毕业设计

    2024-05-11 07:32:09       12 阅读
  6. QT-DAY2

    2024-05-11 07:32:09       11 阅读
  7. Python实战开发及案例分析(15)—— 支持向量机

    2024-05-11 07:32:09       13 阅读
  8. 产品激光安全相关知识总结

    2024-05-11 07:32:09       8 阅读
  9. MySQL变量的定义与使用

    2024-05-11 07:32:09       14 阅读