思路:末位不为9,直接末位加一,末位为9置0,并向前一位寻找,直到找到不为9的位加一,为9就置0,注意要考虑全9的情况,可通过统计count来确定,这种情况,要在头部插入1.
原题如下:
通过代码如下:
import math
class Solution(object):
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
d = copy.deepcopy(digits)
if digits[-1] != 9:
digits[-1] = digits[-1] + 1
else:
for i in range(len(digits)):
if digits[-i-1] != 9:
digits[-1-i] = digits[-1-i] + 1
break
else:
digits[-i-1] = 0
if d == [9] or digits.count(0) == len(digits):
digits.insert(0,1)
return digits