美文网首页
Swift---LeetCode,给定一个由 整数 组成的 非空

Swift---LeetCode,给定一个由 整数 组成的 非空

作者: BabyNeedCare | 来源:发表于2021-11-29 14:31 被阅读0次
    /*
     给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
    
     最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
    
     你可以假设除了整数 0 之外,这个整数不会以零开头。
     **/
    func plusOne(_ digits: [Int]) -> [Int] {
        
        var getDigits = [Int]()
        
        var lastIndex = -1
        
        var getCount = 0
        
        for (index, value) in digits.enumerated().reversed() {
            
            if value == 9 {
                
                getCount += 1
                
                if index == digits.count - 1 {
                    
                    lastIndex = 1
                    
                    getDigits.append(0)
                    
                } else {
                    
                    if lastIndex == -1 {
                        
                        getDigits.append(value)
                        
                    } else {
                        
                        if value == 9 {
                            
                            getDigits.append(0)
                            
                        } else {
                            lastIndex = -1
                            getDigits.append(value + 1)
                        }
                    }
                    
                }
    
            } else {
                
                if index == digits.count - 1 {
                    
                    getDigits.append(value + 1)
                    
                } else {
                    
                    if lastIndex == 1 {
                        
                        getDigits.append(value + 1)
                        
                    } else {
                        
                        getDigits.append(value)
                    }
                }
                
            }
            
            if value + 1 == 10 {
                
            } else {
                
                lastIndex = -1
            }
        }
        
        if getCount == digits.count {
            
            getDigits.append(1)
        }
    
        return getDigits.reversed()
    }

    相关文章

      网友评论

          本文标题:Swift---LeetCode,给定一个由 整数 组成的 非空

          本文链接:https://www.haomeiwen.com/subject/thhlxrtx.html