列表

详情


7. 整数反转

给你一个 32 位的有符号整数 x ,返回将 x 中的数字部分反转后的结果。

如果反转后整数超过 32 位的有符号整数的范围 [−231,  231 − 1] ,就返回 0。

假设环境不允许存储 64 位整数(有符号或无符号)。

 

示例 1:

输入:x = 123
输出:321

示例 2:

输入:x = -123
输出:-321

示例 3:

输入:x = 120
输出:21

示例 4:

输入:x = 0
输出:0

 

提示:

相似题目

字符串转换整数 (atoi)

颠倒二进制位

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: int reverse(int x) { } };

golang 解法, 执行用时: 4 ms, 内存消耗: 2 MB, 提交时间: 2022-08-19 13:00:19

func reverse(x int) (rev int) {
    for x != 0 {
        if rev < math.MinInt32/10 || rev > math.MaxInt32/10 {
            return 0
        }
        digit := x % 10
        x /= 10
        rev = rev*10 + digit
    }
    return
}

python3 解法, 执行用时: 100 ms, 内存消耗: N/A, 提交时间: 2018-08-22 14:17:59

class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        k = [i for i in str(x)]
        k.reverse()
        flag = k[-1:][0]
        if flag == '-':
            temp = int(''.join(k[0:-1]))
            if temp > 2**31:
                temp = 0
            else:
                temp = int('-' + str(temp))
        else:
            temp = int(''.join(k))
            if temp > 2**31 - 1:
                temp = 0
        return temp
            

上一题