任务描述
- 给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
遇到问题
-
一开始直接将int型整数存为列表:[ x for x in str(nums)],但测试用例包含负数,运行后报错
-
解决:
一开始使用abs()函数将x取整
实现代码
class Solution:
def reverse(self, x: int) -> int:
b = abs(x)
a = [int(i) for i in str(b)]
l = len(a)-1
sum = 0
for i in range(len(a)):
sum += a[i]*10**i
if sum<2**31-1 and sum > -2**31:
if x > 0:
return sum
else:
return -sum
else:
return 0