还是先上题
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
你可以假设除了整数 0 之外,这个整数不会以零开头。
看完题之后感受就是join和split来回跳
return (Number(digits.join("")) + 1n).toString().split("");
然后出现两个问题:
1存在 [0,0] 这样的输入,如果直接转换为零的位置就没了,错误
所以我就加上了一段进行处理
let index = BigInt(digits.join(""));
if (index == 0) {
let res = new Array(digits.length);
for (let i = 0; i < res.length; i++) {
res[i] = 0;
}
res[res.length - 1] = 1;
return res;
}
然后发现了第二个问题,存在长着这样的输入
[6,1,4,5,3,9,0,1,9,5,1,8,6,7,0,5,5,4,3]
<