题目描述
给定一个数组表示的非负数,对这个数加一。
思路
对数组从后往前扫描,如果最后一位加一后产生了进位,则对进位处理:
1、如果i的序号不是0,则i-1位加一
2、如果i的序号是0,则在第0 位插入一个1
最后返回修改后的数组
代码
class Solution:
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
digits[-1] += 1
for i in range(len(digits)-1, -1, -1):
if digits[i] == 10:
if i != 0:
digits[i] = 0
digits[i-1] += 1
else:
digits[i] = 0
digits.insert(0, 1)
return digits