解题思路
1.一个台阶的情况下,只有一种跳法,JumpFloor(1) = 1;
2.两级台阶的情况下,可以一级一级的跳,也可以一次跳两级,JumpFloor(2) = 2;
3.三级台阶的情况下,可以由最后跳一次台阶得来,此时和JumpFloor(2)的情况相同,也可以由最后跳两次台阶得来,此时和JumpFloor(1)的情况相同,JumpFloor(3) = JumpFloor(3-1) + JumpFloor(3-2);
4.由此得一般规律 JumpFloor(n) = JumpFloor(n-1) + JumpFloor(n-2);
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
代码实现
1 public class Solution { 2 public int JumpFloor(int target) { 3 if(target == 1) 4 return 1; 5 else if(target == 2) 6 return 2; 7 else{ 8 return JumpFloor(target-1)+JumpFloor(target-2); 9 } 10 } 11 }