The digits are stored such that the most significant digit is at the head of the list, and each element in the array contain a single digit.
You may assume the integer does not contain any leading zero, except the number 0 itself.
Example 1:
Input: [1,2,3] Output: [1,2,4]
Explanation: The array represents the integer 123.
Example 2:
Input: [4,3,2,1] Output: [4,3,2,2]
Explanation: The array represents the integer 4321.
code1 :
class Solution(object):
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
index = len(digits)-1
if digits[index] != 9:
digits[index] += 1
else:
digits[index] = 10
while(digits[index] == 10 and index > 0):
digits[index] = 0
index -= 1
digits[index] += 1
if digits[index] == 10:
digits[index] = 0
digits.insert(0,1)
return digits
code 2:
class Solution(object):
def plusOne(self, digits):
"""
:type digits: List[int]
:rtype: List[int]
"""
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)]
笔记:方法1是针对各种特殊情况,进行计算。
方法2 是先把list转化为整数,然后加一之后又转化为字符取最后一个数字
fangf
fa