class Solution:
    def reverse(self, x: int) -> int:
        # time O(lgN) space O(1)
        reverse = 1
        new_n = 0
        if x < 0:
            reverse = -1
            x = -x
        while x != 0:
            remain = x %10
            x //= 10
            new_n = 10* new_n + remain

        return new_n * reverse if new_n < pow(2,31) else 0