LeetCode No.22 爬楼梯

1.LeetCode70题目链接

https://leetcode-cn.com/problems/climbing-stairs/

2.解题思路

假设一共爬n个台阶,一共有f(n)种结果,假设第一次爬一个台阶,一共有f(n-1)。若第一次爬两个台阶,一共有f(n-2)。f(n) = f(n-1) + f(n-2)。可以看出这个求斐波那契数列和。

 public int climbStairs(int n) {
        int a = 1, b = 1;
        int sum = 0;
        for(int i = 0; i < n - 1; i++){
            sum = a;
            a = a + b;
            b = sum;
        }
        return a;
    }

3.结果

image

你可能感兴趣的:(LeetCode No.22 爬楼梯)