【问题】一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
【思路】这个方法其实质也类似于斐波那契数列,但这次我们使用递归的方法来解决,首先寻找递归的终止条件,n可以一次减小1也可以减小2,当n小于1时,就算一种结果并返回1。
每次运行process函数时都有两个分支,一个是跳1步的情况,一个是跳2步的情况,然后再相加则为最终结果!
class Solution { public: int jumpFloor(int number) { return process(number); } int process(int number){ if(number <= 1){ return 1; } return process(number-1) + process(number-2); } };
原文:https://www.cnblogs.com/zhudingtop/p/11298740.html