leetcode reverse bits python

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 as00111001011110000010100101000000).

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

 

python代码:

from string import atoi
class Solution:
# @param n, an integer
# @return an integer
     def reverseBits(self, n):
          n_str=bin(n)[2:].zfill(32)[-1::-1]    #利用bin内建函数将n转换为二进制字符串,利用切片删掉前缀0b,并将其扩充至32位,然后在反转
          n_int=string.atoi(n_str,2)       #将翻转后的二进制字符串转换为整形
          return n_int

 

posted @ 2015-06-06 18:23  轻抚离殇  阅读(307)  评论(0编辑  收藏  举报