Leetcode 7 整數反轉(python)

2021-09-29 02:25:04 字數 1231 閱讀 7652

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。

示例 1:

輸入: 123

輸出: 321

示例 2:

輸入: -123

輸出: -321

示例 3:

輸入: 120

輸出: 21

注意:假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 [−231,  231 − 1]。請根據這個假設,如果反轉後整數溢位那麼就返回 0。

1.先記錄正負號。

2.然後用數學方法不斷求x的每一位。

3.得到反轉結果,進行溢位判斷。

class solution:

def reverse(self, x: int) -> int:

if x != 0:

symbol = int(abs(x)/x)

x = abs(x)

a = 0

while x >0:

a = a * 10 + x % 10

x = x // 10

if -2**31 <= a*symbol and a*symbol <= 2**31-1:

return a*symbol

else:

return 0

else:

return 0

s = solution()

print(s.reverse())

1.先判斷x是不是負數,是負數的話,取絕對值或者切片變為正數,然後直接切片反轉。

2.判斷反轉後的數字是否溢位。

3.注意int型與str型的轉換

class solution:

def reverse(self, x: int) -> int:

str_int = str(x)

if x < 0:

str_int = str_int[1:]

str_int = str_int[::-1]

if x < 0:

str_int = "-"+str_int

ret = int(str_int)

if ret < -1*2**31 or ret > 2**31 -1:

return 0

else:

return ret

s = solution()

print(s.reverse())

LeetCode7反轉整數

給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123輸出 321示例 2 輸入 123輸出 321示例 3 輸入 120輸出 21注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返回 0。以字串方式思考...

LeetCode 7 反轉整數

給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123輸出 321示例 2 輸入 123輸出 321示例 3 輸入 120輸出 21注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返回 0。很簡單,就是不...

leetcode 7反轉整數

隨機一題 給定乙個 32 位有符號整數,將整數中的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存 32 位有符號整數,其數值範圍是 231,231 1 根據這個假設,如果反轉後的整數溢位,則返...