一、题目描述
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。
示例1:
输入: 123
输出: 321
示例2:
输入: -123
输出: -321
示例3:
输入: 120
输出: 21
注意:
假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。
二、思路
1. 转变为字符串
将 整数x
转化为字符串,然后将字符串反转x = x[::-1]
。
三、代码实现
class Solution:
def reverse(self, x: int) -> int:
# 判断是否超出数值范围
if -2**31 <= x <= (2**31-1):
sx = str(x)
res = sx[::-1]
if res[-1] == '-':
res = '-' + res[:-1]
return int(res) if -2**31 <= int(res) <= (2**31-1) else 0
return 0
四、表现
method | 运行时间 | 表现 | 内存消耗 | 表现 |
---|---|---|---|---|
转化为字符串 | 32ms | 99.02% | 13.2MB | 94.61% |