1676 字
约 5 分钟
10
066.加一
无标签

066.加一

作者:沉默王二
发布时间:2022-12-02T11:31:33.839+0800


本题解同时收录在星球专栏《二哥的 LeetCode 刷题笔记》中,专栏托管在语雀平台上(更方便你沉浸式阅读和做笔记,数学表达公式也能显示出来),访问地址和密码:https://t.zsxq.com/6iuzn6I

题意

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

难度

简单

示例

示例 1:

输入:digits = [1,2,3]

解释:输入数组表示数字 123。

示例 2:

输入:digits = [4,3,2,1]

解释:输入数组表示数字 4321。

示例 3:

输入:digits = [0]

分析

本题很简单,就是将末位加一,然后逐位考虑进位即可。

考虑一下最极端的情况,所有位上都是9,这时候我们就需要开一个新的数组来存储进位后的结果。

class Solution {

        for(int i = digits.length - 1;i >= 0;i--){            digits[i] ++;            digits[i] %= 10;            if(digits[i] != 0)//不用再进位了                return digits;        }        digits = new int[digits.length + 1];        digits[0] = 1;        return digits;    }}

总结

简单的题目往往也有优雅的实现方式,“Programs are meant to be ready by humans and only icidentally for computers to execute.”,代码是用来让人读的,只是顺便让机器执行而已。

力扣链接:https://leetcode.cn/problems/plus-one/

一步一个脚印

不积跬步无以至千里,不积小流无以成江海。LeetCode - 100天从算法小白到卷王正式启动了,我们计划周一到周五至少每天更新一篇,周六周日更新一篇,目标 300 道 LeetCode 经典题。

PDF 版本目前只针对**二哥编程星球 的球友开放,如果你也想一起打卡学习算法的话,戳链接 **加入我们吧。

一个人可以走得很快,但一群人才能走得更远。二哥编程星球 (目前已有 1000 多名球友加入)里面的每个球友都非常的友善,除了鼓励你,还会给你提出合理的建议,一起冲!

本题解同时收录在星球专栏《二哥的 LeetCode 刷题笔记》中,专栏托管在语雀平台上(更方便你沉浸式阅读和做笔记,数学表达公式也能显示出来),访问地址和密码:https://t.zsxq.com/6iuzn6I

题意

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

难度

简单

示例

示例 1:

输入:digits = [1,2,3]

解释:输入数组表示数字 123。

示例 2:

输入:digits = [4,3,2,1]

解释:输入数组表示数字 4321。

示例 3:

输入:digits = [0]

分析

本题很简单,就是将末位加一,然后逐位考虑进位即可。

考虑一下最极端的情况,所有位上都是9,这时候我们就需要开一个新的数组来存储进位后的结果。

class Solution {

        for(int i = digits.length - 1;i >= 0;i--){            digits[i] ++;            digits[i] %= 10;            if(digits[i] != 0)//不用再进位了                return digits;        }        digits = new int[digits.length + 1];        digits[0] = 1;        return digits;    }}

总结

简单的题目往往也有优雅的实现方式,“Programs are meant to be ready by humans and only icidentally for computers to execute.”,代码是用来让人读的,只是顺便让机器执行而已。

力扣链接:https://leetcode.cn/problems/plus-one/

一步一个脚印

不积跬步无以至千里,不积小流无以成江海。LeetCode - 100天从算法小白到卷王正式启动了,我们计划周一到周五至少每天更新一篇,周六周日更新一篇,目标 300 道 LeetCode 经典题。

PDF 版本目前只针对**二哥编程星球 的球友开放,如果你也想一起打卡学习算法的话,戳链接 **加入我们吧。

一个人可以走得很快,但一群人才能走得更远。二哥编程星球 (目前已有 1000 多名球友加入)里面的每个球友都非常的友善,除了鼓励你,还会给你提出合理的建议,一起冲!

本题解同时收录在星球专栏《二哥的 LeetCode 刷题笔记》中,专栏托管在语雀平台上(更方便你沉浸式阅读和做笔记,数学表达公式也能显示出来),访问地址和密码:https://t.zsxq.com/6iuzn6I

题意

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

难度

简单

示例

示例 1:

输入:digits = [1,2,3]

解释:输入数组表示数字 123。

示例 2:

输入:digits = [4,3,2,1]

解释:输入数组表示数字 4321。

示例 3:

输入:digits = [0]

分析

本题很简单,就是将末位加一,然后逐位考虑进位即可。

考虑一下最极端的情况,所有位上都是9,这时候我们就需要开一个新的数组来存储进位后的结果。

class Solution {

        for(int i = digits.length - 1;i >= 0;i--){            digits[i] ++;            digits[i] %= 10;            if(digits[i] != 0)//不用再进位了                return digits;        }        digits = new int[digits.length + 1];        digits[0] = 1;        return digits;    }}

总结

简单的题目往往也有优雅的实现方式,“Programs are meant to be ready by humans and only icidentally for computers to execute.”,代码是用来让人读的,只是顺便让机器执行而已。

力扣链接:https://leetcode.cn/problems/plus-one/

一步一个脚印

不积跬步无以至千里,不积小流无以成江海。LeetCode - 100天从算法小白到卷王正式启动了,我们计划周一到周五至少每天更新一篇,周六周日更新一篇,目标 300 道 LeetCode 经典题。

PDF 版本目前只针对**二哥编程星球 的球友开放,如果你也想一起打卡学习算法的话,戳链接 **加入我们吧。

一个人可以走得很快,但一群人才能走得更远。二哥编程星球 (目前已有 1000 多名球友加入)里面的每个球友都非常的友善,除了鼓励你,还会给你提出合理的建议,一起冲!

            知识星球
            
    
    
        
        扫码加入星球
        查看更多优质内容
    
    https://wx.zsxq.com/mweb/views/joingroup/join_group.html?group_id=15522885221412
066.加一
https://clxhxhhr.top/posts/2520/
作者
clxstart
发布于
2026-09-19
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。
☰ 文章目录