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

挺簡單的 直接上代碼

#coding:utf-8

class Solution:
    # @param n, an integer
    # @return an integer
    def reverseBits(self, n):
        keep = ""
        while(n != 0):
            if(n % 2 == 1):
                keep += "1"
            else:
                keep += "0"
            n = n / 2

        # keep = keep[::-1]

        temp = ""
        i = 32 - len(keep)
        while i >0 :
            temp += "0"
            i -= 1
        keep =  keep + temp

        orgin = 0
        length = len(keep) -1

        for i in keep:
            if i == "1":
                orgin += pow(2,length)
            length -= 1

        return orgin

if __name__ == "__main__":
    test = Solution()
    print test.reverseBits(43261596)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容