解题思路
加1是在最后一位加1,如果最后一位为9,就会向前进位;如果前面一位还是9,继续向前进位;如果不为9,就会停止。所以从列表最后一位开始向前判断,如果加上1小于10,循环停止,即为最后结果;极端情况是全为9,此时会不断进位,在循环结束时,在列表索引0处插入1即可。
代码
class Solution:
def plusOne(self, digits: List[int]) -> List[int]:
flag = 1
for i in range(len(digits)-1,-1, -1):
digits[i] = digits[i] + flag
if digits[i] < 10:
return digits
else:
digits[i] = 0
digits.insert(0,1)
return digits
链接:https://leetcode-cn.com/problems/plus-one/solution/66-jia-yi-by-senlindu-7elx/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。