迭代 时间复杂度 O(n) 空间复杂度 O(1)
/**
* @param {number} n
* @return {number}
*/
var climbStairs = function(n) {
let l = 0, r = 0 , sum = 1
for(let i=1; i<=n; ++i){
l = r
r = sum
sum = l + r
}
return sum
};
动态规划 时间复杂度 O(n) 空间复杂度 O(n)
/**
* @param {number} n
* @return {number}
*/
var climbStairs = function(n) {
if(n==1){
return 1
}
let dp = []
dp[1] = 1
dp[2] = 2
for(let i=3; i<=n; i++){
dp[i] = dp[i-1] + dp[i-2]
}
return dp[n]
};