swift 算法 简单14.加一

版权声明:本文为博主原创文章,未经博主允许不得转载。 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
    }

猜你喜欢

转载自blog.csdn.net/huanglinxiao/article/details/91529088