題目描述
一隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上一個n級的台階總共有多少種跳法。
解題思路
遞歸,由上一步到這一步青蛙跳了一級或跳了兩級,目前台階數為n,那跳n級台階的方法數就是問跳n-1和跳n-2級樓梯方法數相加。由此可看出,這是一個斐波那契數列。
結束條件就是當n=1時,隻有一種方法(跳一級);n=0時,0種方法;當n=2時,有兩種方法(一次跳一級,跳兩次;一次直接跳兩級)
代碼實作
class Solution {
public:
int jumpFloor(int number) {
if (number == ){
return ;
}
if (number == ){
return ;
}
if (number == ){
return ;
}
return jumpFloor(number - ) + jumpFloor(number - );
}
};