leetcode

    科技2025-10-24  13

    描述:

    给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

    示例:

    输入: 123 输出: 321 输入: -123 输出: -321 输入: 120 输出: 21 注意:假设我们的环境只能存储得下 32 位的有符号整数, 则其数值范围为 [−231, 231 − 1]。请根据这个假设, 如果反转后整数溢出那么就返回 0

    解题思路:

    1、当数字为0时,直接返回0

    2、通过一个新的变量new_num,通过整除以及求余数的方式不断获取原始数据的个位,然后不断更新new_num

    3、对原数据是否时正数或者负数进行判断处理,以及是否满足数据范围进行判断处理

    class Solution(object): def reverse(self, x): """ :type x: int :rtype: int """ if x == 0: return 0 num = abs(x) new_num = 0 while num: new_num = new_num * 10 + num % 10 num //= 10 new_num = new_num if x > 0 else -new_num return new_num if - 2 ** 31 < new_num < 2 ** 31 -1 else 0

     

    Processed: 0.012, SQL: 8