leetcode(4)加一的js实现

一.题目描述:

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

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

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

示例 1:
输入: [1,2,3]
输出: [1,2,4]
解释: 输入数组表示数字 123。

示例 2:
输入: [4,3,2,1]
输出: [4,3,2,2]
解释: 输入数组表示数字 4321。

示例 3:
输入: [1,2,9]
输出: [1,3,0]
解释: 输入数组表示数字 129。

二.js代码实现:

1.实现思路:

(1)如果最后一位是9,则将最后一位变为0,再将上一位加1,如也是9,则继续向上;如果最后一位不是9,则直接最后一位数加1即可

(2)如果所有位数都为9,则将数变为9,然后再前面加个1

2.js代码:

/**
 * @param {number[]} digits
 * @return {number[]}
 */
var plusOne = function(digits) {
    let index=digits.length - 1;
    for(let i=index ; i>=0; i--)
        {
             if (digits[i] === 9)
                {
                 digits[i] = 0;
                }
            else
                {
                 digits[i]++;
                 return digits;
                }
        }
        digits.unshift(1);
        return digits;
}; 

你可能感兴趣的:(前端开发,leetcode,数据结构)