题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 思路: 一次只能跳一阶或两阶 1.如果第一次跳了一阶,那么还剩下n-1个台阶,跳法为JumpFloor(n-1) 2.如果第一次跳了两阶,那么还剩下n-2个台阶,跳法为JumpFloor(n-2) 3.由1和2可以得出总跳法JumpFloor(n) = JumpFloor(n - 1) + JumpFloor(n - 2) 4.当只剩下一个台阶时,只有一种跳法;当还剩下2个台阶时,可以有2种跳法
代码:
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);
}
}