这道题目类似于斐波那契数列,根据题意,青蛙只能一次跳一级或者跳两级
即 F(n) = F(n-1) + F(n-2),使用递归即可。
public class Solution {
public int JumpFloor(int target) {
if(target==1)
return 1;
if(target==2)
return 2;
target = JumpFloor(target-1) + JumpFloor(target-2);
return target;
}
}
有些人可能会说应该在加一个 if 判断 target 为 0 或 -1的情况,其实这时完全没有必要的。
你仔细想想target在什么情况下才等于0或-1?
只有在target为2或1的时候,但是在此时已经return 回去,不会再递归。