题目描述:
给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。
如果反转后整数超过 32 位的有符号整数的范围 [−231, 231 − 1] ,就返回 0。
假设环境不允许存储 64 位整数(有符号或无符号)。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/reverse-integer
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
class Solution:
def reverse(self, x: int) -> int:
a = []
if (x > 0):
sign = 1
else :
sign = -1
x = x * (-1)
while x >= 10:
b = x % 10
a.append(b)
x = x // 10
a.append(x)
out = 0
for i in range(0,len(a)):
out = out * 10 + a[i]
if out > 2 ** 31:
return 0
else:
return (out * sign)
关键:输出的范围要用与2**31比较,判断大小