1、题目描述
2、解题思路
主要分为两种情况:
(1)元素不全为9的,做如下处理:元素不为9的直接加1并返回;如果元素为9,则将该元素置为0。
(2)元素全为9的,在做以上处理的数组前加上一个元素1即可。
/**
* @param {number[]} digits
* @return {number[]}
*/
var plusOne = function(digits) {
// 从后向前遍历数组(以下为一般情况)
for(let i=digits.length-1; i>=0; i--) {
if(digits[i] !== 9) {
digits[i]++;
return digits;
} else {
digits[i] = 0;
}
}
// 特殊情况,都是每一位都是9的情况
const result = [1, ...digits];
// 或者 return [1].concat(digits);
return result;
};