You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
动态规划大水题。类似斐波那契额数列。
class Solution {
public:
int climbStairs(int n) {
if(n == 0 || n == 1|| n == 2)return n;
int a =1,b=2,re = 0;
for(int i =3 ; i <= n ; i++)
{
re = a+b;
a =b;
b =re;
}
return re;
}
};