题目:
难度:Easy
相关话题:数组
给定一个由整数 组成的非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储一个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
示例1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。
示例2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。
思路:
字符串加法的简单版,处理好进位。
/**
* @来源: Javascript中文网 - 前端进阶资源教程 https://www.javascriptc.com/
* @介绍:一个致力于帮助开发者用代码改变世界为使命的平台,每天都可以在这里找到技术世界的头条内容
* @param {number[]} digits
* @return {number[]}
*/
var plusOne = function(digits) {
let carry=1,id=digits.length-1
while(carry>0 && id>=0){
digits[id]+=carry
carry=Math.floor(digits[id]/10)
digits[id] %= 10
id--
}
if(carry>0)digits.unshift(carry)
return digits
// let i=digits.length-1
// digits[i]+=1
// while(digits[i]===10){
// digits[i]=0
// if(i===0)digits.unshift(0)
// else i--
// digits[i]+=1
// }
// return digits
};
扩展阅读: