题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
解题思路
- 如果只有一节台阶,则只有一种结果
- 两节台阶有两种结果
- 再往后以此类推
- 该次次数等于上一次跳一节的之前的次数,加上上一节跳两节的之前的所有次数之和
代码实现
public class Solution {
public int JumpFloor(int target) {
if (target <= 0) {
return -1;
}
if (target == 1 || target == 2) {
return target == 1 ? 1 : 2;
} else {
return JumpFloor(target - 1) + JumpFloor(target - 2);
}
}
}