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.

Python

 
class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        list_x = list(str(x))
        temp = list_x[::-1]
        if temp[len(temp)-1] is "-":
            temp.pop()
            flag = "-"
            for i in temp:
                flag += i
            return self.return_num(flag)
        else:
            flag = ""
            for i in temp:
                flag += i
            return self.return_num(flag)

    def return_num(self, num):
        if int(num) > (2 ** 31) or int(num) < -(2 ** 31):
            return 0
        else:
            return int(num)

发表评论