问题描述:

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

示例:

输入: 43261596
输出: 964176192
解释: 43261596 的二进制表示形式为 00000010100101000001111010011100
  返回 964176192,其二进制表示形式为 00111001011110000010100101000000

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

方法1:常规操作,易错点在给头部补0.

 class Solution:
# @param n, an integer
# @return an integer
def reverseBits(self, n):
input_b = bin(n)
input_b = input_b[2:]
input_b = ""*(32-len(input_b))+input_b
input_b = input_b[::-1]
return int(input_b,2)

方法2:

 class Solution:
# @param n, an integer
# @return an integer
def reverseBits(self, n):
res='{0:032b}'.format(n)#注意转换成32为无符号整形,res=bin(n)在这里会出错,ide不会
res=res[::-1]#翻转
res=int(res,2)
return res

方法3:

 class Solution:
# @param n, an integer
# @return an integer
def reverseBits(self, n):
binary_n = bin(n)
reversed_n = ''.join(reversed('{:032d}'.format(int(binary_n[2:]))))
return int(reversed_n, 2)

2018-09-16 07:48:24

最新文章

  1. 根据ip判断地区,IP接口
  2. ios开发中的toll-free bridged
  3. IOS开发之──应用之间调用(1)
  4. C#textbox右击弹出菜单
  5. 钥匙计数之一 - HDU 1438(状态压缩打表)
  6. 解决蛋疼的阿里云单CPU使用率的问题。
  7. 【Hook技术】实现从"任务管理器"中保护进程不被关闭 + 附带源码 + 进程保护知识扩展
  8. 【杂】poj2482 Stars in Your Windows 题面的翻译
  9. ActiveMq笔记1-消息可靠性理论
  10. Python视频人脸检测识别
  11. Scrapy基础(十)———同步机制将Item中的数据写在Mysql
  12. 如何实现CSS限制字数,超出部份显示点点点...
  13. Quartz基础知识了解(一)
  14. 关于Unsupported major.minor version 52.0解决办法(再次回顾)
  15. Flex 得到一个对象的所有属性
  16. Centos修改时间显示的时区,将UTC修改为CST
  17. [SpringBoot] - 发送带附件的邮件
  18. 利用ARP和ICMP协议解释ping命令
  19. XDU 1031
  20. Java 实现 RSA 非对称加密

热门文章

  1. hdu5195 二分+线段树+拓扑序
  2. 谷歌插件--Advanced REST client
  3. 持续集成之二:搭建SVN服务器--Apache HTTP Server安装
  4. linux常用命令:top 命令
  5. Linux中Postfix邮件接收配置(四)
  6. web前端----css选择器样式
  7. 作为从业人员,如果一定要学一门新的编程语言,那么它一定是c++
  8. CodeForces 76A Gift - 最小生成树
  9. VC++实现程序重启的方法(转载)
  10. Python3基础 try-except-finally 的简单示例