题目分析:
这一题让我们把数组的最后以为加1。要点就是逐位相加,满10进1,保留进位符用于下一位相加,最后如果还有进位要记得在最前面插入一个1,其实就是通过加法原理自己写加法(类似大数相加)。
测试代码:
class Solution:
def plusOne(self, digits: list) -> list:
if digits == []: return digits
length, carry, i = len(digits), 1, 0
while carry and i < length:
num = digits[length - i - 1] + carry
carry = int(num / 10)
digits[length - i - 1] = num % 10
i += 1
if i == length and carry:
digits.insert(0, 1)
return digits
print(Solution().plusOne([2,3,4])) #提交时请删除该行