版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huanglinxiao/article/details/91529088
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例 2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
解法:
func plusOne(_ digits: [Int]) -> [Int] {
var list = digits
for (index,value) in list.enumerated().reversed() {
if (value == 9) {
list[index] = 0;
if index > 0 {
list[index-1] += 1
}else{
list[index] = 10
}
}else{
if index == list.count-1 {
list[index] += 1
}
return list
}
}
if (list[0] == 10) {
list[0] = 0;
list.insert(1, at: 0)
return list;
}
return list
}