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
相关推荐
Nebula_g2 小时前
C语言应用实例:背包DP1(Bone Collector、Piggy-Bank、珍惜现在,感恩生活)
算法
roman_日积跬步-终至千里2 小时前
【模式识别与机器学习(5)】主要算法与技术(中篇:概率统计与回归方法)之逻辑回归(Logistic Regression)
算法·机器学习·回归
Promise4857 小时前
贝尔曼公式的迭代求解笔记
笔记·算法
福尔摩斯张8 小时前
Linux进程间通信(IPC)机制深度解析与实践指南
linux·运维·服务器·数据结构·c++·算法
你好~每一天8 小时前
未来3年,最值得拿下的5个AI证书!
数据结构·人工智能·算法·sqlite·hbase·散列表·模拟退火算法
杰克尼8 小时前
3. 分巧克力
java·数据结构·算法
zmzb01039 小时前
C++课后习题训练记录Day39
数据结构·c++·算法
Ayanami_Reii10 小时前
进阶数学算法-取石子游戏(ZJOI2009)
数学·算法·游戏·动态规划·区间dp·博弈论
一只小小汤圆10 小时前
已知圆弧的起点、终点、凸度 求圆弧的圆心
算法
丸码10 小时前
Java HashMap深度解析
算法·哈希算法·散列表