LeetCode刷題之190Python顛倒二進位制位
阿新 • • 發佈:2018-12-30
題目:
顛倒給定的 32 位無符號整數的二進位制位。
示例:
輸入: 43261596
輸出: 964176192
解釋: 43261596 的二進位制表示形式為 00000010100101000001111010011100 ,
返回 964176192,其二進位制表示形式為 00111001011110000010100101000000 。
進階:
如果多次呼叫這個函式,你將如何優化你的演算法?
參考解答:
https://blog.csdn.net/qq_34364995/article/details/80544458
使用python的format格式化。’{0:032b}’.format(n)將n轉化為32位無符號數。
class Solution: # @param n, an integer # @return an integer def reverseBits(self, n): b = list('{:032b}'.format(n)) for i in range(16): b[i],b[31-i] = b[31-i],b[i] r = int(''.join(b),2) return r