leetcode:7. 整数反转(python3解法,数学相关算法题)
难度:中等
给你一个 32 位的有符号整数
x
,返回将x
中的数字部分反转后的结果。如果反转后整数超过 32 位的有符号整数的范围
假设环境不允许存储 64 位整数(有符号或无符号)。[−231, 231 − 1]
,就返回 0。示例 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:a = -2 ** 31b = 2**31 -1if x >= 0:reverse_x = int("".join(list(str(x))[::-1]))# print(reverse_x)elif x <0:reverse_x = list(str(x))[::-1]reverse_x.pop(-1)reverse_x = int("".join(reverse_x)) * -1# print(reverse_x)if reverse_x < a or reverse_x > b:return 0else:return reverse_x