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 `[-2`

, then return ^{31}, 2^{31} - 1]`0`

.

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

**Example 1:**

Input:x = 123Output:321

**Example 2:**

Input:x = -123Output:-321

**Example 3:**

Input:x = 120Output:21

**Constraints:**

`-2`

^{31}<= x <= 2^{31}- 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