【Python】数学基础

一、整数反转:

任意整数每位的数字倒转,如:-1230 输出 -321

假定数值范围为 [−2^{31}2^{31} − 1],如果反转后整数溢出那么就返回 0。

思路:将数字转成字符串后利用列表功能进行倒转,注意0和负号的特殊处理。

重点:列表顺序相反操作 x[len(x)-1::-1],从最左到第len(x)项倒转,如x = [-1230], len(x) - 1 = 4, x[4::-1] = [0321-]

def reverse(self, x):
    """
    :type x: int
    :rtype: int
    """
    if x == 0:
        return 0
    else:
        str_x = str(x)
        x = ''
        if str_x[0] == '-':
            x += '-'
        x += str_x[len(str_x)-1::-1].lstrip("0").rstrip("-")
        x = int(x)
        if -2**31 <= x <= 2**31-1:
            return x
        else:
            return 0

猜你喜欢

转载自blog.csdn.net/Treasure99/article/details/85012689