加一-LeetCode
加一
🎯 问题描述(来源于LeetCode)
描述:
给定一个表示 大整数 的整数数组 digits,其中 digits[i] 是整数的第 i 位数字。这些数字按从左到右,从最高位到最低位排列。这个大整数不包含任何前导 0。
将大整数加 1,并返回结果的数字数组。
说明:
-
1 <= digits.length <= 100 -
0 <= digits[i] <= 9 -
digits不包含任何前导0。
示例: -
示例 1:
1 | 输入:digits = [1,2,3] |
- 示例 2:
1 | 输入:digits = [9] |
💻 解题思路
思路1:反向遍历
思路1:代码实现
1 | class Solution: |
思路1:📊 性能分析
提交结果
- 运行时间:0ms击败100.00%
- 内存消耗:17.30MB击败97.07%
复杂度验证
- 时间复杂度:
- 空间复杂度:
思考
反向遍历数组,判断当前数字+1后是否等于10,返回反转数组
思路2:判断当前数位是否进1(观看灵神的思路)
思路2:代码实现
1 | class Solution: |
思路2:📊 性能分析
提交结果
- 运行时间:0ms击败100.00%
- 内存消耗:17.67MB击败14.25%
复杂度验证
- 时间复杂度:
- 空间复杂度:
思考
反向遍历数组,判断当前数位是否需要进1,直到不进位返回数组
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 笺札!






