題目描述
給出一個(gè) 32 位的有符號(hào)整數(shù),你需要將這個(gè)整數(shù)中每位上的數(shù)字進(jìn)行反轉(zhuǎn)。
示例 1:
輸入: 123
輸出: 321
示例 2:
輸入: -123
輸出: -321
示例 3:
輸入: 120
輸出: 21
思路
- 記錄正負(fù)號(hào)
- 設(shè)置res距糖,反轉(zhuǎn)整數(shù)
- 注意不要超出數(shù)字范圍,python沒(méi)有這個(gè)問(wèn)題(實(shí)際)
class Solution:
def reverse(self, x: int) -> int:
flag = 1
res = 0
if x < 0:
flag = - 1
x = -x
while x != 0:
res = res * 10 + x % 10
if res > 2 ** 31 - 1 or res < -2 **31:
return 0
x //= 10
return flag * res
Ac7