【LeetCode】66. Plus One 解题报告(Python)

本文介绍了一种实现数组最后一位加一的方法。通过逐位相加并处理进位的方式更新数组元素,若最高位产生进位,则在数组最前方插入1。此方法类似于大数相加的处理方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目分析:

这一题让我们把数组的最后以为加1。要点就是逐位相加,满10进1,保留进位符用于下一位相加,最后如果还有进位要记得在最前面插入一个1,其实就是通过加法原理自己写加法(类似大数相加)。

测试代码:

class Solution:
    def plusOne(self, digits: list) -> list:
        if digits == []: return digits
        length, carry, i = len(digits), 1, 0
        while carry and i < length:
            num = digits[length - i - 1] + carry
            carry = int(num / 10)
            digits[length - i - 1] = num % 10
            i += 1
        if i == length and carry:
            digits.insert(0, 1)
        return digits

print(Solution().plusOne([2,3,4]))  #提交时请删除该行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值