题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
方法一(但是内存超出限制):
class Solution {
public:
int jumpFloorII(int number) {
if(number==0||number==1)
return 1;
if(number==2)
return 2;
int sum=0;
for(int i=0;i<=number;i++)
{
sum+=jumpFloorII(i);
}
return sum;
}
};
方法二:
class Solution {
public:
int jumpFloorII(int number) {
if(number==0)
return number;
int sum=1;
for(int i=1;i<number;i++)
sum*=2;
return sum;
}
};