星期四, 三月 10, 2016

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 a=1,b=2;

        for(int i=3;i<=n;i++){

            int tmp=a+b;

            a=b;

            b=tmp;

        }

        return b;

    }

};

 

 

没有评论:

发表评论