leetcode做题笔记70

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

思路一:递归

int climbStairs(int n){
    int num[n+1];
    num[0]=1,num[1]=1;
    for(int i=2;i<=n;i++){
        num[i]=num[i-1]+num[i-2];
    }
    return num[n];
}

分析:

本题下一级台阶的方法等于前一级台阶加上前两级台阶的方法数,不断递归到n得到答案

总结:

本题考察递归的应用,将台阶问题转换为递归问题即可解决

猜你喜欢

转载自blog.csdn.net/si_mple_/article/details/132241102