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; } };