天天看點

leetcode007-python 反轉整數

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.

解題要點:

1.反轉字元串python可以用切功能[ , ,-1];

2.注意數字的溢出界限(翻轉後的數字);

class Solution:
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        b = pow(2, 31)
        if x < 0:
            x = abs(x)
            ans = -int(str(x)[::-1])
        else:
            ans = int(str(x)[::-1])
        if ans >= (-b) and ans <= b-1:
            return ans
        else:
            return 0