加一
题目
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
1 2 3 4 5 6 7 8 9示例 1: 输入: [1,2,3] 输出: [1,2,4] 解释: 输入数组表示数字 123。 示例 2: 输入: [4,3,2,1] 输出: [4,3,2,2] 解释: 输入数组表示数字 4321。来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/plus-one
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
从最后一位做加法 要考虑为9加一进位的问题,以及最后超过数组长度的情况(9999)
- 0~8: 直接+1,然后break出循环
- 9:置0,继续往前
注意最后还要判断首位是否为0
解答
| |
收获
对于循环条件,每次进行len()操作,是否会拖慢计算:不存在, 长度len是slice本身的一个属性,获取其值就是访问变量,没必要再创建一个变量才存储这个值(针对本题的场景)
| |
