leedcode 颠倒二进制

使用bin函数
复制代码
class Solution:
    def reverseBits(self, n: int) -> int:
        # 将整数 n 转换为二进制字符串,并用 左0 填充至32位
        binary_str = bin(n)[2:].zfill(32)

        # 反转二进制字符串
        reversed_str = binary_str[::-1]

        # 将反转后的二进制字符串转换为整数
        reversed_int = int(reversed_str, 2)

        # 返回反转后的整数
        return reversed_int
复制代码

使用位运算

复制代码
class Solution:
    def reverseBits(self, n: int) -> int:
        # 初始化一个变量来存储反转后的比特位结果
        res = 0

        # 迭代每个比特位(32次,对于一个32位的整数)
        for i in range(32):
            # 将当前结果左移1位,并与n的最低位进行按位或运算
            res = (res << 1) | (n & 1)

            # 将n右移1位,以移动到下一位
            n >>= 1

        # 返回反转比特位后的最终结果
        return res
复制代码

 

posted @   Junior_bond  阅读(2)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示