力扣7 整數反轉

2021-10-11 11:02:04 字數 942 閱讀 6306

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

示例 1:

輸入: 123

輸出: 321

示例 2:

輸入: -123

輸出: -321

示例 3:

輸入: 120

輸出: 21

sign = x >= 0                   # x正負

maxint32 = (1 << 31) - 1 # 準備int32最大值

res = 0 # 準備結果,初始化為0

if x == - 1 << 31: return 0 # 若x為負int32最小值,則反轉後必定溢位,其餘負數情況和正數是對稱的

x = abs(x) # 所以將x轉為正數來處理

while x != 0: # 只要還沒有pop完

pop = x % 10 # pop為x的最後一位

x //= 10 # x去掉最後一位

# 當result已經大於最大值//10,或者等於int32最大值//10並且當前pop出的值大於7時,必定溢位,返回0

if res > maxint32 // 10 or res == maxint32 // 10 and pop > 7: return 0

# 如果不溢位,則把pop出的值加進result中

res = res * 10 + pop

# 最後返回帶正負號的result

return res if sign else -res

力扣(7) 整數反轉

題目描述 給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。思路 先轉字串,符號位單獨考慮。對只有數字的字串進行反轉,再轉為整數型,最後與符號位相乘輸出 import math class solution def reverse self,x int int label 1 ...

力扣 7 整數反轉

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉...

力扣7 整數反轉

給出乙個 32 位的有符號整數,你需要將這個整數中每位上的數字進行反轉。示例 1 輸入 123 輸出 321 示例 2 輸入 123 輸出 321 示例 3 輸入 120 輸出 21 注意 假設我們的環境只能儲存得下 32 位的有符號整數,則其數值範圍為 231,231 1 請根據這個假設,如果反轉...