[Solved] 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).

Table of Contents

Question

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

Python Solution

class Solution:
    def reverse(self, x: int) -> int:
        rev=0
        n=0
        if x<0:
            n=1
            x=abs(x)
        while x>0:
            rem = x%10
            rev = rev*10 + rem
            x = x//10
        
        if rev in range(-2**31,2**31):
            if n==1:
                return -1*rev
            else:
                return rev
        else:
            return 0

Leave a Reply

Your email address will not be published. Required fields are marked *