题目有两个坑,一个是进位的判断,可以按照digits[i] !=9,也可以digits[i] +1=10.
另一个是首位需要进位时的判断,这时要解决怎么让计算机知道数据是99999,即全部有进位。容易想到的是设置一个flag,也可以想下面代码增加一个输出。但是一个输出更加符合编码规范。
class Solution:
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
for i in range(len(digits)-1,-1,-1):
if digits[i] !=9:
digits[i]=digits[i]+1
return digits
else:
digits[i]=0
digits.insert(0,1)
return digits