## Problem Statement

Given a 32-bit signed integer, reverse digits of an integer.

**Example 1:**

Input:123Output:321

**Example 2:**

Input:-123Output:-321

**Example 3:**

Input:120Output:21

**Note:**

Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−2^{31}, 2^{31 }− 1]. For the purpose of this problem, assume that your function returns 0 when the reversed integer overflows.

**Solution:**

class Solution:
def reverse(self, x: int) -> int:
negative = False
if x<0:
negative=True
x*=-1
reverse = 0
while x>0:
reverse = reverse*10+x%10
x = x//10
if reverse < -2**31 or reverse > 2**31:
return 0
if negative:
reverse*=-1
return reverse