LeetCode Daily Challenge — 2020/07/12
Code is life.
1 min readJul 12, 2020
題目連結:
LeetCode Daily Challenge — 2020/07/12
題目敘述:
將一整數以二進位表示為 32 位元後反序之,並再返回整數。
題目解法:
1. 引用 bin() 將整數轉換為二進位表示(字串型態前兩位為'0b',在這邊先忽略不計),並以 [::-1] 方式反序之。2. 須注意區分正負數,以及若為正數,前面需補「0」至 32 位數(題目要求)。3. 結果以 int(x, 2) 函式將二進位數字轉換回整數,即可得正解。
程式碼(Python3):
複雜度分析:
- 時間複雜度:O(n)
bin() = O(logn), int(x, 2) = O(n)
- 空間複雜度:O(1)
n, tmp 皆在常數空間內(即便 tmp * 31 仍是),故空間複雜度為 O(1)