天天看點

【劍指Offer】跳台階

題目描述

一隻青蛙一次可以跳上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 - );
    }
};