70. Climbing Stairs
问题:
每次上楼梯可以踏一阶梯或者两阶, 问有多少中上楼梯的方式.
思路:
分析一下, 其实是个fabonacci数列问题. 上至第n阶的时候可以是踏一阶,或者踏两阶, 即f(n) = f(n-1)+f(n-2)
code:
class Solution {
public:
int climbStairs(int n) {
if (n <= 2) return n;
int n_1 = 1;
int n_2 = 2;
int res;
for (int i = 3; i <= n; i++) {
res = n_1 + n_2;
n_1 = n_2;
n_2 = res;
}
return res;
}
};