Plus One
Question
Answer
solution:
class Solution(object):
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
carry = 1 #进位
for i in reversed(xrange(len(digits))): #从低位到高位计算,任何一位都加上进位,进位可能为1也可能为0。
digits[i] += carry #每位都要加上前面的进位,然后除以10,余数就是当前位的结果,商就是进位。
carry = digits[i] / 10
digits[i] %= 10
if carry: #只有当一直算到最后,算到最高位进位还是1的时候,因为最高位需要进位,原来的数组一定是N个9,现在变成N个0,所以这时只要将最高位置为1,直接加上现在的N个0即可。
digits = [1] + digits
return digitsKnowledge:
Last updated