class Solution:
    def reverse(self, x: int) -> int:
        min_value = -2**31
        max_value = 2**31-1
        negative = True if x<0 else False
        if negative:
            x = x*-1

        result = 0
        while x>=1:
            result = result*10+x%10
            x = x//10
        result = result if not negative else -1*result

        return result if min_value<=result<=max_value else 0