LeetCode | 66.加一

这道题有多个思路,可以依次取数组的每一位,乘10后加下一位,直到最后一位,就得到我们数组所表示的数字,然后加一,然后把新得到的数字再转化为对应的数组,我的做法是直接取数组的最后一位,加1即可,但是这里有坑,需要额外的判断,比如说,末尾是9,需要变为0,前一位加1,又比如说类似9、99、999、9999这样的数字需要全变为0,再在首位添上1,增加多这些判断即可

python 复制代码
class Solution(object):
    def plusOne(self, digits):
        """
        :type digits: List[int]
        :rtype: List[int]
        """
        i = len(digits) - 1
        if digits[i] == 9:
            while digits[i] == 9:
                digits[i] = 0
                i -= 1
            if i < 0:
                digits.insert(0, 1)
            else:
                digits[i] += 1
        else:
            digits[-1] += 1
        return digits
相关推荐
爱思德学术16 分钟前
中国计算机学会(CCF)推荐学术会议-B(计算机体系结构/并行与分布计算/存储系统):SPAA 2026
算法
33 分钟前
2.12矩阵问题,发牌,数字金字塔
线性代数·算法·矩阵
无聊的小坏坏40 分钟前
一文讲通:二分查找的边界处理
数据结构·c++·算法
m0_5287490040 分钟前
C语言错误处理宏两个比较重要的
java·linux·算法
TracyCoder1231 小时前
LeetCode Hot100(50/100)——153. 寻找旋转排序数组中的最小值
算法·leetcode·职场和发展
诸葛务农1 小时前
点云配准在人形机器人中的应用:ICP算法(2)
人工智能·算法·机器学习·机器人
摘星编程1 小时前
**解锁Agent智能体新纪元:自主协作、任务分解与人类意图对齐的终极指南**
算法
mmz12071 小时前
逆序对问题(c++)
c++·算法
化学在逃硬闯CS1 小时前
Leetcode110.平衡二叉树
数据结构·c++·算法·leetcode
谢铭轩1 小时前
题解:P8035 [COCI 2015/2016 #7] Otpor
c++·算法