天天看点

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]可以将字符串进行反转