题目描述:
Given a non-negative integer represented as a non-empty array of digits, plus one to the integer.
You may assume the integer do not contain any leading zero, except the number 0 itself.
The digits are stored such that the most significant digit is at the head of the list.
我的思路:
没大看懂是什么意思。。用一个数组存储一个非负整数,把他加一。。。大数加法。
保存进位,如果最后一位也有进位的话在前面添1。
我的代码:
class Solution:
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
n, p = len(digits) - 1, 1
while n >= 0:
p, digits[n] = divmod(digits[n] + p, 10)
n -= 1
if digits[0] == 0:
digits.insert(0, 1)
return digits
Discuss:
def plusOne(digits):
num = 0
for i in range(len(digits)):
num += digits[i] * pow(10, (len(digits)-1-i))
return [int(i) for i in str(num+1)]
学到: