190 顛倒二進位制位

2021-10-21 10:05:53 字數 1012 閱讀 3782

題目描述

顛倒給定的 32 位無符號整數的二進位制位。

示例 1:

輸入: 00000010100101000001111010011100

輸出: 00111001011110000010100101000000

解釋: 輸入的二進位制串 00000010100101000001111010011100 表示無符號整數 43261596,

因此返回 964176192,其二進位制表示形式為 00111001011110000010100101000000。

示例 2:

輸入:11111111111111111111111111111101

輸出:10111111111111111111111111111111

解釋:輸入的二進位制串 11111111111111111111111111111101 表示無符號整數 4294967293,

因此返回 3221225471 其二進位制表示形式為 10111111111111111111111111111111 。

高階:

如果多次呼叫這個函式,你將如何優化你的演算法?

題解:依次取出n的每一位,然後逆序累加,就是結果。

注意:這題32位上每一位數字都有用,比如高位的0逆序後變成低位的0,不能省略,所以常規的二進位制列舉不行,直接列舉第0位到第31位即可。

時間複雜度:o(1

)o(1)

o(1)

額外空間複雜度:o(1

)o(1)

o(1)

class

solution};

/*記憶體:5.7mb,擊敗:94.34%

*/

leetcode 190 顛倒二進位制位

顛倒給定的 32 位無符號整數的二進位制位。示例 輸入 43261596輸出 964176192解釋 43261596 的二進位制表示形式為00000010100101000001111010011100,返回 964176192,其二進位制表示形式為001110010111100000101001...

LeetCode190 顛倒二進位制位

顛倒給定的 32 位無符號整數的二進位制位。示例 輸入 43261596輸出 964176192解釋 43261596 的二進位制表示形式為00000010100101000001111010011100,返回 964176192,其二進位制表示形式為001110010111100000101001...

LeetCode 190 顛倒二進位制位

顛倒給定的 32 位無符號整數的二進位制位。示例 1 輸入 00000010100101000001111010011100輸出 00111001011110000010100101000000解釋 輸入的二進位制串00000010100101000001111010011100表示無符號整數432...