1. 程式人生 > >[leetcode]python3 演算法攻略-加一

[leetcode]python3 演算法攻略-加一

給定一個非負整數組成的非空陣列,在該數的基礎上加一,返回一個新的陣列。

最高位數字存放在陣列的首位, 陣列中每個元素只儲存一個數字。

你可以假設除了整數 0 之外,這個整數不會以零開頭。

方案一:利用數學公式求原陣列的int形式

def plusOne(digits):
    """
    :type digits: List[int]
    :rtype: List[int]
    """
    num = 0
    for i in digits:
        num = 10 * num + i
    return [int(x) for x in str(num + 1)]

方案二:利用列表解析和.join函式求原陣列的int形式

def plusOne(digits):
    """
    :type digits: List[int]
    :rtype: List[int]
    """
    str_digits = [str(i) for i in digits]
    num = int(''.join(str_digits))
    return [int(x) for x in str(num + 1)]