题解 | #阶乘#
阶乘
https://www.nowcoder.com/practice/39fcf876fab34fe8afc298de10a1e112
// 方法1:递归 function _factorial(number) { // 1!===1 if(number===1) return 1 // n!===n*(n-1)! else return number*_factorial(number-1) } /* 复杂度分析: 时间复杂度:O(n),计算n的阶乘需要递归调用n次_factorial函数 空间复杂度:O(n), 递归调用栈的空间为递归调用深度 **/ // 方法2:迭代 function _factorial(number) { // 返回结果 let result = 1; for(let i=1;i<=number;i++){ result *= i; } return result; } /* 复杂度分析: 时间复杂度:O(n),计算n的阶乘需要递归调用n次_factorial函数 空间复杂度:O(1), 无需维护递归调用栈. **/