题目来源:
力扣https://leetcode.cn/problems/climbing-stairs/题目简介:
就是达到n,一次可加1或2,有多少种方法完成;
思路:
通过思考0-1阶;0-2;0-3;0-4;0-5;各自的可能情况得出一条规律f(3)=f(2)+f(1)
代码实现:
int climbStairs(int n) {
int p = 0, q = 0, r = 1;
for (int i = 1; i <= n; ++i) {
p = q;
q = r;
r = p + q;
}
return r;
}