假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
我们先写个图解
重新赋值法
/**
* @param {number} n
* @return {number}
*/
var climbStairs = function (n) {
// 重新赋值法
// 第一天是一种
var x = 1;
// 第二天是两种
var y = 2;
// 总计
var str=0;
if (n < 3) {
return n;
}
for (var i = 2; i < n; i++) {
str= x+y;
// 将y的值赋值给x变成第二天
x=y;
// 将得到的值赋值给y变成第三天
y=str;
}
// 输出y
return y;
};