7. 整数反转


一、题目描述

给出一个 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%

文章作者: Arvin He
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Arvin He !
评论
  目录