leetcode 66 :加一【JavaScript/JS解法】

还是先上题

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

看完题之后感受就是joinsplit来回跳

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]
<

你可能感兴趣的:(算法,leetcode,算法,javascript)