moonlightshadow123
5/30/2017 - 2:46 PM

190. Reverse Bits

  1. Reverse Bits
class Solution:
    # @param n, an integer
    # @return an integer
    def reverseBits(self, n):
        res = 0
        for i in range(32):
            if n & 1 == 1:
                res = (res << 1) + 1
            else:
                res = res << 1
            n = n >> 1
        return res

https://leetcode.com/problems/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?