class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        给出一个 32 位的有符号整数，你需要将这个整数中每位上的数字进行反转。

        示例 1:

        输入: 123
        输出: 321
         示例 2:

        输入: -123
        输出: -321
        示例 3:

        输入: 120
        输出: 21
        注意:

        假设我们的环境只能存储得下 32 位的有符号整数，则其数值范围为 [−231,  231 − 1]。请根据这个假设，如果反转后整数溢出那么就返回 0。
        
        """
        intmax = 2147483647
        intmin = -2147483648
        rev = 0
        if x >= 0:
            z = 1
        else :
            z = -1
            x = -x
        
        while (x != 0):
            num = x % 10
            rev = rev *10 + num
            x = x / 10
            
        rev = rev * z
        
        if rev > intmax or rev < intmin:
            return 0
        else:
            return rev
