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