【题目】给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字放在数组的首位,数组中每个元素只存储单个数字。
你可以假设除了整数0之外,这个整数不会以零开头。
【示例1】
输入:digits = [1, 2, 3]
输出:[1, 2, 4]
【示例2】
输入:digits = [4, 3, 2, 1]
输出:[4, 3, 2, 2]
【示例3】
输入:digits = [0]
输出:[1]
【提示】
1 <= digits.length <= 100
0 <= digits[i] <= 9
【答案】
function add1(digits) {
let sum = [];
let carry = 1;
for (let i = digits.length-1;i>=0;i--) {
let n = digits[i]+ carry;
if (n >= 10) {
carry = 1;
n = n - 10;
}else {
carry = 0
}
sum.push(n);
}
if (carry > 0 ){
sum.push(carry);
}
return sum.reverse();
}
console.log(add1([1,2,3]))
console.log(add1([9,9,9,9]))
第二种简单办法:
function add (digits) {
return [...(''+(Number(digits.join(''))+1))]
}
add([139])
网友评论