给定一个32位带符号整数,整数的反向数字。
范例1:
输入:123输出:321
范例2:
输入:-123输出:-321
范例3:
输入:120输出:21
假设我们正在处理一个只能存储32位有符号整数范围内的整数的环境:[?2 ^ 31,2 ^ 31?1]。出于此问题的目的,假定反向整数溢出时函数返回0。
我试图解决可逆的int问题,但是以下解决方案因以下输入而失败。
输入: 1534236469
输出: 9646324351
预期: 0
在我的解决方案中,我正在检查给定的int是否大于max或min值,然后检查它是否为负。
我的解决方案
import sys
class Solution:
def reverse(self, x):
"""
:type x: int
:rtype: int
"""
if x <sys.maxsize-1 or x > -sys.minsize:
if str(x)[0] == '-':
list_mod = list(str(x))
list_mod.pop(0)
list_mod.append('-')
list_mod.reverse()
join_list = ''.join(list_mod[:])
return int(join_list)
else:
return int(str(x)[::-1])
else:
return 0
Run Code Online (Sandbox Code Playgroud) python ×1