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

原文地址:https://www.cnblogs.com/huangzs/p/14084324.html