zentan66 / daily-coding

日常手写算法,编程题
0 stars 0 forks source link

【⭐️】LeetCode-加一 #45

Open zentan66 opened 3 years ago

zentan66 commented 3 years ago

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

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

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

zentan66 commented 3 years ago

编码

/**
 * @param {number[]} digits
 * @return {number[]}
 */
var plusOne = function(digits) {
  let flag = false, len = digits.length;
  for (let i = len - 1; i >= 0; i--) {
    let total = digits[i] + (i === len - 1 ? 1 : 0) + Number(flag)
    if (total >= 10) {
      digits[i] = total % 10
      flag = true
    } else {
      digits[i] = total
      flag = false
    }
  }
  if (flag) {
    digits.unshift(1)
  }
  return digits
};