边工作边刷题:70天一遍leetcode: day 3
Reverse Bits
思路:
错误点:& 没有>>/<<优先级高
Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).
Follow up:
If this function is called many times, how would you optimize it?
Related problem: Reverse Integer
class Solution(object):
def reverseBits(self, n):
"""
:type n: int
:rtype: int
"""
i = 0
j = 31
while i<j:
if ((n&(1<<i))>>i)!=((n&(1<<j))>>j):
n=n^(1<<i)^(1<<j)
i+=1
j-=1
return n