LeetCode_66_加一_hn

2020-03-05  本文已影响0人  1只特立独行的猪

题目描述

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。

示例

示例 1:

输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。

示例2:

输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。

解答方法

方法一:

思路

最低位不是9,就加一
最低位是9,则最低位为零,高一位加一,以此类推,若最高位仍为9,加一位,最高位为1.

代码

class Solution:
    def plusOne(self, digits: List[int]) -> List[int]:
        for i in range(len(digits)-1,-1,-1):
            if digits[i] != 9:
                digits[i] += 1
                return digits
            digits[i] = 0
            
        digits.insert(0,'1')
        return digits

时间复杂度

空间复杂度

提交结果

上一篇下一篇

猜你喜欢

热点阅读