LeetCode 筆記 - 7. Reverse Integer

LeetCode 第 7 題解析,要求將一個 32 位元的有號整數進行反轉。本文分享如何透過基礎的數學運算處理位元反轉,並特別提醒開發者注意反轉後可能產生的數值溢位(Overflow)問題,確保結果符合 32 位元整數的範圍限制。

發佈
閱讀
約 1 分鐘
字數
161
⚠️ 舊文提醒:本文發佈於約 4 年前,部分內容或指令可能已過時,請斟酌參考。

題目在此 7. Reverse Integer

將數字反轉

解題思維

給定一個數字,將數字反轉。

Time complexity: O(1)

程式碼

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution:
def reverse(self, x: int) -> int:

x = str(x)
if len(x) < 2:
return x

if x.startswith('-'):
x = x[::-1]
x = f'-{x[:-1]}'
else:
x = x[::-1]

x = int(x)

# overflow
if x >= 2147483651:
return 0
if x <= -2147483651:
return 0
return x

也許你也會想看看

輸入關鍵字開始搜尋 · ↑↓ 選擇 · Enter 開啟