66. Plus One

Leetcode link

题目简介

/**
 * @param {number[]} digits
 * @return {number[]}
 */

题目给我们一个数字数组 digits,其中每个数字都是个位数,他们可以组合成一个大的整数

要求在数组格式下给这个大整数加一

结果以数组形式返回

解题思路

直接简单模拟即可

Javascript

/**
 * @param {number[]} digits
 * @return {number[]}
 */
var plusOne = function (digits) {
    let carry = 1
    let i = digits.length - 1

    while (carry > 0 && i >= 0) {
        digits[i] += carry
        carry = Math.floor(digits[i] / 10)
        digits[i] %= 10
        i--
    }
    if (carry > 0) {
        digits.unshift(carry)
    }

    return digits
};

复杂度分析

时间

O(n)

空间

O(1)

results matching ""

    No results matching ""