本题源自LeetCode
------------------------------------------------------
你正在爬楼梯的情况。 达到顶峰需要几个步骤。每次你可以爬1或2步。 你可以爬多少个不同的方式爬上去?
代码:
非递归:
int climbStairs(int n) {
if(n<3)
return n;
int g=1;
int f=2;
while(n>2){
f=f+g;
g=f-g;
n--;
}
return f;
}
递归:
int climbStairs(int n) {
if(n<3)
return n;
return climbStairs(n-1)+climbStairs(n-2);
}
};