LeetCode 7 - Reverse Integer Problem

Problem Statement

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

Example 1:

Input: 123
Output: 321

Example 2:

Input: -123
Output: -321

Example 3:

Input: 120
Output: 21

Note:
Assume we are dealing with an environment which could only store integers within the 32-bit signed integer range: [−231,  231 − 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