给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
示例 1:
输入:x = 123
输出:321
示例 2:
输入:x = -123
输出:-321
示例 3:
输入:x = 120
输出:21
示例 4:
输入:x = 0
输出:0
提示:
-231 <= x <= 231 - 1
class Solution:
def reverse(self, x: int) -> int:
# 解法一:
if x == 0:
return 0
temp1 = '-' if str(x)[0] == '-' else ''
string = str(x)[1:] if '-' in str(x) else str(x)
xx = int(temp1 + string[::-1].lstrip('0'))
if not -2 ** 31<= xx <= 2 **31 -1:
return 0
return xx
# 解法二:
list1 = []
for str1 in str(x):
list1.insert(0,str1)
num = ''
if list1[-1] == '-':
list1.insert(0,'-')
del list1[-1]
for i in list1:
num += i
return int(num)