题目描述:
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例1:
输入 :[1,2,3]
输出 :[1,2,4]
解释 :输入数组表示数字 123。
示例2:
输入 :[4,3,2,1]
输出 :[4,3,2,2]
解释 :输入数组表示数字 4321。
class Solution:
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
#考虑全为9的情况
if sum(digits)==9*len(digits):
return [1]+len(digits)*[0]
#考率其他情况
i=1
for j in range(len(digits)-1,-1,-1):
i=(digits[j]+i)//10
if i==0:
digits[j]+=1
return digits
else:
digits[j]=0
return digits
很简单的操作,不要想着先转换为整数再操作,那样太耗时间空间