思路
这个题主要的点在于判断是否溢出。
class Solution:
def reverse(self, x: int) -> int:
if x < -2**31 or x > 2**31 - 1:
return 0
fu = False
if x < 0:
fu = True
res = int(str(abs(x))[::-1])
if fu:
res = -res
return res if -2**31 < res < 2**31 - 1 else 0
如果判断条件用-1<<31 < res < 1<<31
,则左边会溢出。