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
相关推荐
CoovallyAIHub9 分钟前
南京理工大学联手百度、商汤科技等团队推出Artemis:用结构化视觉推理革新多模态感知
深度学习·算法·计算机视觉
天才少女爱迪生12 分钟前
图像序列预测有什么算法方案
人工智能·python·深度学习·算法
cici1587414 分钟前
3D有限元直流电阻率法正演程序
算法·3d
黑色的山岗在沉睡18 分钟前
滤波算法数学前置——线性化
线性代数·算法
t1987512820 分钟前
火电机组热经济性分析MATLAB程序实现
人工智能·算法·matlab
Hello娃的29 分钟前
【半导体】肖特基接触AND欧姆接触
人工智能·算法
橘颂TA29 分钟前
【剑斩OFFER】算法的暴力美学——交易逆序对的总数
数据结构·算法·leetcode
xiyuping2432 分钟前
强化学习之——moutaincar
算法·机器学习
小画家~34 分钟前
第三十七:类型断言
开发语言·c++·算法·golang
九年义务漏网鲨鱼38 分钟前
【大模型微调】QLoRA微调原理及实战
深度学习·算法·大模型·智能体