博客
关于我
LeetCode0190. 颠倒二进制位
阅读量:301 次
发布时间:2019-03-03

本文共 567 字,大约阅读时间需要 1 分钟。

一. 题目
  1. 题目

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

  2. 示例

    在这里插入图片描述

二. 方法一: 拼接 + 反转
  1. 解题思路

  2. 解题代码

    def reverseBits(self, n: int) -> int:    bin_num = bin(n)    size = 34 - len(bin_num)    result = "0b" + bin_num[-1: 1: -1] + "0" * size    return int(result, 2)
  3. 分析

    时间复杂度: O(1)
    空间复杂度: O(1)

三. 方法二
  1. 解题思路

    1. 先将输入的数字转成32位长的二进制数
    2. 然后再从右向左进行计算
    3. 算出最终结果即可
  2. 解题代码

    def reverseBits(self, n: int) -> int:    bin_num = bin(n)    size = 34 - len(bin_num)    bin_num = "0b" + "0" * size + bin_num[2:]    result = 0    for ele in bin_num[-1:1:-1]:        result = (result << 1) + int(ele)    return result
  3. 分析

    时间复杂度: O(1)
    空间复杂度: O(1)

转载地址:http://qium.baihongyu.com/

你可能感兴趣的文章
ms sql server 2008 sp2更新异常
查看>>
MS UC 2013-0-Prepare Tool
查看>>
msbuild发布web应用程序
查看>>
MSB与LSB
查看>>
MSCRM调用外部JS文件
查看>>
MSCRM调用外部JS文件
查看>>
MSEdgeDriver (Chromium) 不适用于版本 >= 79.0.313 (Canary)
查看>>
MsEdgeTTS开源项目使用教程
查看>>
msf
查看>>
MSSQL数据库查询优化(一)
查看>>
MSSQL日期格式转换函数(使用CONVERT)
查看>>
MSTP多生成树协议(第二课)
查看>>
MSTP是什么?有哪些专有名词?
查看>>
Mstsc 远程桌面链接 And 网络映射
查看>>
Myeclipse常用快捷键
查看>>
MyEclipse用(JDBC)连接SQL出现的问题~
查看>>
myeclipse的新建severlet不见解决方法
查看>>
MyEclipse设置当前行背景颜色、选中单词前景色、背景色
查看>>
myeclipse配置springmvc教程
查看>>
MyEclipse配置SVN
查看>>