190. Reverse Bits*

来源:互联网 发布:电脑网络账号密码忘记 编辑:程序博客网 时间:2024/06/05 15:47

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?

My code:

class Solution(object):    def reverseBits(self, n):        """        :type n: int        :rtype: int        """        result = 0        for i in range (32):            result = result*2 +n%2            n = n/2        return result
点击打开链接
class Solution(object):    def reverseBits(self, n):        """        :type n: int        :rtype: int        """        n = (n >> 16) | (n << 16);        n = ((n & 0xff00ff00) >> 8) | ((n & 0x00ff00ff) << 8);        n = ((n & 0xf0f0f0f0) >> 4) | ((n & 0x0f0f0f0f) << 4);        n = ((n & 0xcccccccc) >> 2) | ((n & 0x33333333) << 2);        n = ((n & 0xaaaaaaaa) >> 1) | ((n & 0x55555555) << 1);        return n



0 0
原创粉丝点击