DEV Community

Abhishek Chaudhary
Abhishek Chaudhary

Posted on

Reverse Integer

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:

import math

class Solution:
    def reverse(self, x: int) -> int:
        LIMIT = (1 << 31) - 1
        if x == 0:
            return x
        sign = x//abs(x)
        x = abs(x)
        op = 0
        while x > 0:
            d = x % 10
            x = x // 10
            op = 10 * op + d
            if (sign == 1 and op > LIMIT) or (sign == -1 and op > LIMIT + 1):
                return 0
        return op * sign
Enter fullscreen mode Exit fullscreen mode

Top comments (0)