class Solution(object):
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
c=0
if digits[-1] == 9 and len(digits)==1:
digits[-1]=1+c
digits.append(0)
#输出为[1,0]
elif digits[-1] == 9 and len(digits)!=1:#最后一位为9且长度大于1
i =len(digits) - 2# [9,9,9]此时i=1
digits[-1]=0#最后一位 置0
c=1
while i > -1:
if digits[i] != 9:#相加未进位
digits[i]=digits[i] + c
c = 0
i= i -1
if i==0 and digits[i]==9 and c==1:# 9为首,且有进位
#若此位为9
#digits[i+1]=0末尾置0
digits[i]=1
digits.append(0)
i= i -1
if digits[i]==9 and c==1:#有进位
digits[i]=0
c=1
i=i - 1
if digits[i]==9 and c==0:
i=i - 1
else:
digits[-1]=digits[-1] + 1
return digits