leetcode[70]Climbing Stairs

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<=2)return n;
        int *s=new int[n];
        s[0]=1;
        s[1]=2;
        for(int i=2;i<n;i++)
        {
            s[i]=s[i-1]+s[i-2];
        }
        return s[n-1];
    }
};

 

posted @ 2015-02-09 14:24  Vae永Silence  阅读(109)  评论(0编辑  收藏  举报