首页 > 代码库 > Climbing Stairs

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) {
        long long ans=0;
        if(n==1) return 1;
        if(n==2) return 2;
        int a=1,b=2;
        n-=2;
        while(n--){
            ans=a+b;
            a=b;
            b=ans;
        }
        return ans;
    }
};


Climbing Stairs