题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
题目分析
n级台阶时的跳法为f(n),则有
f(n)=f(n-1)+f(n-2)+...+f(2)+f(1)+f(0),其中f(n-1)为第一次跳1级时的跳法数目,f(0)为第一次跳n级时的跳法数目。
f(n-1)=f(n-2)+...+f(2)+f(1)+f(0),其中f(0)=1,f(1)=1。
所以有:
class Solution {
public:
int jumpFloorII(int number) {
if(number == 0 || number == 1)
return 1;
else
return 2*jumpFloorII(number-1);
}
};