天天看點

leetcode 7-整數反轉 python

給出一個 32 位的有符号整數,你需要将這個整數中每位上的數字進行反轉。

示例 1:

輸入: 123
輸出: 321
           

 示例 2:

輸入: -123
輸出: -321
           

示例 3:

輸入: 120
輸出: 21
           

可以分類進行反轉,将數值型轉化為字元串,用切片進行反轉

​
class Solution(object):
    def reverse(self, x):
        """
        :type x: int
        :rtype: int
        """
        s = str(x)
        if s[0] == '-':
            num = s[1:].lstrip('0')
            x = -int(num[::-1])
            if x > pow(2,31) -1 or x < -pow(2,31):
                return 0
            else:
                return x
        elif len(s) == 1:
            return int(s)
        else:
            x = int(s[::-1]).lstrip('0')
            if x > pow(2,31)-1 or x < -pow(2,31):
                return 0
            else:
                return x
        
    

​
           

[::-1]可以将字元串進行反轉