当前位置:   article > 正文

[leetcode] 66. 加一

[leetcode] 66. 加一

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:

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

示例 2:

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

示例 3:

输入:digits = [0]
输出:[1]
  • 1
  • 2

提示:

  • 1 <= digits.length <= 100
  • 0 <= digits[i] <= 9

Python实现

这个需要找规律,如果末尾都是9,我们找到第一个不是9的数,加1以后,对于9的位置置0,然后返回即可。

如果都不是9,就直接在个位上加1就好了。

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/380424
推荐阅读
相关标签
  

闽ICP备14008679号