给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 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