原题链接:https://leetcode.com/problems/climbing-stairs/
求解思路:这道题目可以根据斐波那契数列的定义进行求解。每一步可以爬一格或者两个楼梯,可以发现,递推式是f(n)=f(n-1)+f(n-2),也就是等于前一格的可行数量加上前两格的可行数量,可以用递归或者递推都是比较简单的。
class Solution {
public int climbStairs(int n) {
int f1 = 1;
int f2 = 2;
if(n==1)
return 1;
if(n==2)
return 2;
int f3 = 0;
for(int i=3;i<=n;i++){
f3 = f1+f2;
f1 = f2;
f2 = f3;
}
return f3;
}
}