首页 > 其他 > 详细

LeetCode刷题2——颠倒二进制位

时间:2019-11-09 21:57:50      阅读:65      评论:0      收藏:0      [点我收藏+]

一、题目要求

技术分享图片

 

 

 

 二、题目背景

 此题依旧属于位运算范畴

知识点1:有符号和无符号二进制是怎样表现的?

知识点2:进制之间的相互转换

(1)十进制转十六进制

hex(n)

技术分享图片

 

 

(2)十六进制转十进制

int(str,16),其中str是16进制字符串

技术分享图片

 

 

(3)十进制转二进制

bin(n) ,其中n就是十进制整数

技术分享图片

 

 

 (4)二进制转十进制

int(str,2)  其中str是二进制的字符串表现形式

技术分享图片

 

 

 

三、解题思路

3.1 思路1

   首先想到的就是将这个二进制字符串倒叙显示就可以了即S[::-1]

class Solution:
    # @param n, an integer
    # @return an integer
    def reverseBits(self, n):
        return int(bin(n)[2:][::-1],2)

 

3.2 思路2

四、进阶

如果要多次调用这个函数,又该如何优化算法?

LeetCode刷题2——颠倒二进制位

原文:https://www.cnblogs.com/bethansy/p/11827958.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!