Leetcode #66.
算法上没有什么难的,就是要注意细节。栽在坑里了,>9的数忘了清零。
结果搞出[1, 10]这样的list来了。
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
if len(digits) == 0:
return [1]
result = []
carry = 0
for i in range(len(digits)-1,-1,-1): # this is different from the splice, which is digits[-1::-1]
digits[i] += 1
if digits[i] <= 9: # we should stop if there is no carry
carry = 0
break
else:
digits[i] = 0 # Oh my, forgot this line
carry = 1
if carry == 1:
result.append(1)
result += digits
return result