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
相关推荐
wen__xvn5 分钟前
第 34 场 蓝桥·算法入门赛·百校联赛
算法
ASD125478acx5 分钟前
超声心动图心脏自动检测YOLO11-NetBifPN算法实现与优化
算法
无限进步_1 小时前
【C语言&数据结构】对称二叉树:镜像世界的递归探索
c语言·开发语言·数据结构·c++·git·算法·visual studio
星辞树1 小时前
揭秘阿里 DIN:当深度学习遇上“千物千面”
算法
刘立军1 小时前
如何选择FAISS的索引类型
人工智能·算法·架构
小芒果_011 小时前
整理归并排序
c++·算法·排序算法·信息学奥赛
牛三金1 小时前
匿踪查询沿革-Private Information Retrieval(PIR)
算法·安全
德育处主任1 小时前
『NAS』在群晖部署一个文件加密工具-hat.sh
前端·算法·docker
星辞树1 小时前
从 L1/L2 到 Dropout:深度解析正则化,为何推荐系统“只能练一次”?
算法
玖剹2 小时前
队列+宽搜(bfs)
数据结构·c++·算法·leetcode·宽度优先