您的位置:首页 > 其它

Reverse Bits

2015-07-31 10:39 225 查看
题目:

Reverse bits of a given 32 bits unsigned integer.

For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as00111001011110000010100101000000).

Follow up:

If this function is called many times, how would you optimize it?

Related problem: Reverse Integer

解题思路:

思路极为简单,一次便AC,直接上代码。

class Solution:

# @param n, an integer

# @return an integer

def reverseBits(self, n):

import math

def To_binary(n):

res = []

while n>0:

if n%2==0:

res.append(0)

else:

res.append(1)

n = n/2

while len(res)<32:

res.append(0)

return res

bi = To_binary(n)

bi.reverse()

power = 0

ans = 0

for i in bi:

ans += i*int(math.pow(2,power))

power += 1

return ans
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: