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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· .NET10 - 预览版1新功能体验(一)