题目描述
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 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
解题思路