题目描述:
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
解题思路:
1、经典的递归思想,简单版本的青蛙跳
2、可以这样思考,当还剩最后两个台阶的时候,青蛙有2种跳到终点的方法,当还剩一个台阶的时候,有一种跳法。一种递归的下探,类似于老大给小弟分配事情。时间复杂度O(2^n),还可以优化。
参考代码:
public class Solution {
public int JumpFloor(int target) {
if(target==1)
return 1;
if(target==2)
return 2;
return JumpFloor(target-1)+JumpFloor(target-2);
}
}