LeetCode66.加一(Python)

Posted 归止于飞

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode66.加一(Python)相关的知识,希望对你有一定的参考价值。

思路:
数组末端一共只有两种情况,9或非9,若为9即需要进1。
所以我们需要做的就是把一个数组最后几位9进为0,第一个不是9的一位加一。
最后对全是9的这一特殊数组进行处理

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

时间复杂度:O(n),n为数组长度
空间复杂度:O(1),返回值将不计入计算

以上是关于LeetCode66.加一(Python)的主要内容,如果未能解决你的问题,请参考以下文章

leetcode-66.加一

LeetCode66 加一

LeetCode 第66题,加一

LeetCode(66): 加一

LeetCode数组-10(66)-数组表示的数加一

LeetCode66.加一