Skip to content

7. Reverse Integer

Math

Problem - Reverse Integer

Medium

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

Solutions

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
class Solution:
    def reverse(self, x: int) -> int:

        result = 0
        MAX, MIN = 2**31 - 1, -2**31
        sign = 1
        if x < 0:
            sign = -1
        x = abs(x)

        while x != 0:
            digit = x % 10
            x //= 10

            if result > (MAX - digit) // 10:
                return 0
            result = result * 10 + digit

        return result*sign

Submission Stats:

  • Runtime: 43 ms (32.06%)
  • Memory: 17.7 MB (57.45%)