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
题意:
将32位无符号的整数倒置
给一个整数,将代表它的binary倒置,返回得到的结果所代表的整数
思路:
n的末位与1并,结果由ans接收
参考:
http://bookshadow.com/weblog/2015/03/08/leetcode-reverse-bits/
class Solution(object):
def reverseBits(self, n):
"""
:type n: int
:rtype: int
"""
ans=0
for i in range(32):
ans<<=1 #左移一位用来接收n的末位
ans=ans | (n&1)
n>>=1
return ans