当前位置:网站首页>数组 加一

数组 加一

2022-06-10 20:50:00 Morris_

数组 LC 加一

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

func plusOne(_ digits: [Int]) -> [Int] {
    
    
    var nums = digits
    
    // 最后一位是否是9
    if nums.last == 9 {
    
        // 如果最后一位是9,需要遍历其他位
        
        var index = nums.count - 1
        
        // 从最后一位开始遍历,直至遍历到元素值不是9止
        while index >= 0 && nums[index] == 9 {
    
            
            // 如果元素上的值是9,则将其改为0
            nums[index] = 0
            
            index -= 1
        }
        
        // 进位
        if index < 0 {
    
            nums.insert(1, at: 0)
        }
        else {
    
            nums[index] += 1
        }
        
    }
    // 如果最后一位是不是9,则最后一位直接+1
    else {
    
        nums[nums.count - 1] += 1
    }
    
    return nums
}
原网站

版权声明
本文为[Morris_]所创,转载请带上原文链接,感谢
https://blog.csdn.net/Morris_/article/details/125214709