Problem: 66. 加一
思路
反向遍历数组,如果末位是9则末位变为0,判断上一位是否为9,不为9直接返回+1,为9则变为0,若都为9,例如999,则在首位加上1
复杂度
时间复杂度:
O ( n ) O(n) O(n),n为数组的长度
Code
class Solution(object):
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
i=len(digits)-1
while i>=0:
if digits[i]==9:
digits[i]=0
i=i-1
else:
digits[i]+=1
return digits
return [1]+digits