989.数组形式的整数加法
链接:989.数组形式的整数加法
难度:Easy
标签:数组、数学
简介:对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组。例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]。给定非负整数 X 的数组形式 A,返回整数 X+K 的数组形式。
题解 1 - typescript
- 编辑时间:2021-01-22
- 执行用时:140ms
- 内存消耗:43.2MB
- 编程语言:typescript
- 解法介绍:倒序相加。
function addToArrayForm(A: number[], K: number): number[] {
  let add: 1 | 0 = 0;
  const kArr: number[] = [];
  while (K !== 0) {
    kArr.push(K % 10);
    K = ~~(K / 10);
  }
  A = A.reverse();
  for (let i = 0, len = Math.max(A.length, kArr.length); i < len; i++) {
    let num = (A[i] ?? 0) + (kArr[i] ?? 0) + add;
    if (num >= 10) {
      num -= 10;
      add = 1;
    } else {
      add = 0;
    }
    A[i] = num;
  }
  add === 1 && A.push(1);
  return A.reverse();
}