1. 程式人生 > 實用技巧 >leetcode66:加一

leetcode66:加一

給定一個由整陣列成的非空陣列所表示的非負整數,在該數的基礎上加一。

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

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

=========Python=========

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        i = len(digits) - 1
        carry = 1
        while i >= 0:
            if digits[i] + carry > 9:
                digits[i], carry 
= (digits[i] + carry) % 10, (digits[i] + carry) // 10 else: digits[i] += carry carry = 0 break i -= 1 if carry > 0: return [carry] + digits else: return digits

==========Go==========

func plusOne(digits []int) []int {
    var result []int
    carry := 0
    for i := len(digits) - 1; i >= 0; i--{
        digits[i] += carry
        carry = 0
        if i == len(digits) - 1{
            digits[i] ++
        }
        if digits[i] == 10{
            carry = 1
            digits[i] 
= digits[i] % 10 } } if carry == 1{ result = make([]int, 1) result[0] = 1 result = append(result, digits...) } else { result = digits } return result }