跳转至

7.reverse-integer

Statement

Metadata

给你一个 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

 

提示:

  • -231 <= x <= 231 - 1

Metadata

Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.

Assume the environment does not allow you to store 64-bit integers (signed or unsigned).

 

Example 1:

Input: x = 123
Output: 321

Example 2:

Input: x = -123
Output: -321

Example 3:

Input: x = 120
Output: 21

 

Constraints:

  • -231 <= x <= 231 - 1

Solution

class Solution:
    def reverse(self, x: int) -> int:
        l = -(1 << 31)
        r = (1 << 31) - 1
        f = 0
        if x < 0:
            f = 1
            x = -x

        x = int(str(x)[::-1])
        x *= -1 if f else 1
        if x < l or x > r:
            return 0
        return x

最后更新: October 11, 2023
回到页面顶部