颠倒给定的 32 位无符号整数的二进制位。
示例
输入:n = 00000010100101000001111010011100 输出:964176192 (00111001011110000010100101000000) 解释:输入的二进制串 00000010100101000001111010011100 表示无符号整数 43261596, 因此返回 964176192,其二进制表示形式为 00111001011110000010100101000000。
解析
好吧,我承认二进制的题目我不擅长,还有 Python 有各种切片的骚操作,当字符串处理比较好理解。
代码示例
class Solution: def reverseBits(self, n: int) -> int: s = str(bin(n))[2:].zfill(32) return int(s[::-1], 2)
执行用时:40 ms, 在所有 Python3 提交中击败了 57.64% 的用户.
本文为 陈华 原创,欢迎转载,但请注明出处:http://ichenhua.cn/read/405