说明
- 本人零基础,数学基础极差,此系列开始学习下leetcode算法方面的题目
- 都是leetcode的原题
0066. 加一
- 难度:简单
- 标签:数组
- 本题来自这里
题目大意
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例 1:
1 | 输入:digits = [1,2,3] |
示例 2:
1 | 输入:digits = [4,3,2,1] |
示例 3:
1 | 输入:digits = [0] |
解体思路
这道题把整个数组看成了一个整数,然后个位数 +1。问题的实质是利用数组模拟加法运算。
如果个位数不为 9 的话,直接把个位数 +1 就好。如果个位数为 9 的话,还要考虑进位。
还有一个注意的点:首位进位变成10之后也需要进行处理,因为会多一位数字
具体代码
1 | class Solution(object): |
参考资料
可以参考此系列,刷算法