66.加一
小于 1 分钟
66.加一
/*
* @lc app=leetcode.cn id=66 lang=typescript
*
* [66] 加一
*/
// @lc code=start
// function plusOne(digits: number[]): number[] {
// // +1 有缺陷,会存在越界数据,导致错误
// let num = Number(digits.join("")) + 1;
// let nums = String(num)
// .split("")
// .map(el => Number(el));
// return nums;
// }
// 递归实现法
function plusOne(digits: number[]): number[] {
let res = recursion(digits, digits.length - 1);
return res;
}
function recursion(arr: number[], index: number): number[] {
if (arr[index] + 1 === 10) {
arr[index] = 0;
return recursion(arr, index - 1);
} else {
if (index == -1) {
arr[0] = 0;
arr.unshift(1);
} else {
arr[index] += 1;
}
return arr;
}
}
// @lc code=end
Loading...
