本题的关键在于对题目信息的提取。青蛙每次跳1阶或2阶,设f(n)表示n阶台阶时青蛙总共可以选择的不同跳法。青蛙第一跳可以选择跳1阶或跳2阶,当青蛙跳1阶时,剩余的情况为f(n-1),当青蛙跳2阶时,剩余情况为f(n-2),所以有f(n)=f(n-1)+f(n-2)。这与斐波那契数列的递推式完全一致,剩下的就是简单的递归问题,当然也可以选择迭代解法。
需要注意的是,与斐波那契数列稍有不同,本题中f(2)=2, f(1)=1, f(0)=0。

class Solution {
public:
    int jumpFloor(int number) {
        if(number == 2){
            return 2;
        }
        else if(number == 1){
            return 1;
        }
        else if(number == 0){
            return 0;
        }
        else{
            return jumpFloor(number-1)+jumpFloor(number-2);
        }
        
    }
    
};