Leetcode第66题:加一

题目描述
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。
代码实现

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        # 获取末尾的数字,判断是否小于9,如果小于则直接末位+1并返回即可
        end_num=digits[-1]
        if end_num<9:
            digits[-1]=end_num+1
            return digits
        else:
            # 对列表进行反向遍历,如果数字为9,则将其变为0,直到遇到一个小于9的数对其+1,然后结束,如果没有找到比9小的数字,则在头部插1
            for index in range(len(digits)-1,-1,-1):
                if digits[index]==9:
                    digits[index]=0
                else:
                    digits[index]=digits[index]+1
                    return digits
            digits.insert(0,1)
            return digits

解题思路
在这里插入图片描述

上一篇:15:00面试,15:06就出来了,问的问题有点变态。。。


下一篇:Java学习路线大纲-二、学习大纲