给你一个 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
提示:
思路
下面是关于python的(后面会慢慢更新java的) 在python中,我的思路比较暴力,因为python有一些特性,python的list在存取str类型的数字时候,会自动将数字进行拆分,然后python的list的方法中正好有反转的方法。这个就很简单了。
class Solution:
def reverse(self, x: int) -> int:
if x > 0:
x = str(x)
x = list(x)
x.reverse()
item = "".join(x)
item = int(item)
elif x < 0:
x = str(x)
x = x[1:]
x = list(x)
x.reverse()
item = "".join(x)
item = 0 - int(item)
elif x == 0:
return 0
if(item > 2**31 -1):
return 0
elif (item < -2**31):
return 0
else:
return item
|