1. 程式人生 > 實用技巧 >LeetCode加一Swift

LeetCode加一Swift

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

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

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

示例1:

輸入:digits = [1,2,3]
輸出:[1,2,4]
解釋:輸入陣列表示數字 123


示例2:

輸入:digits = [4,3,2,1]
輸出:[4,3,2,2]
解釋:輸入陣列表示數字 4321

示例 3:

輸入:digits = [0,0]
輸出:[0,1]

程式碼

class Solution {
    func plusOne(_ digits: [Int]) 
-> [Int] { var digits = digits for index in stride(from: digits.count-1, through: 0, by: -1) { let result = digits[index]+1 if result < 10 { digits[index] = result break } else { digits[index] = 0 if
index == 0 { digits.insert(1, at: 0) } } } return digits } }

備註:

1.[0,50]

for index in stride(from: 0, through: 50, by: 5)

0 5 10 15 20 25 30 35 40 45 50

2.[0,50)

for index in stride(from: 0, to: 50 by: 5)

0 5 10 15 20 25 30 35 40 45