剑指offer–(8) 跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
思路描述
1. 第一步可以跳一阶或两阶,那么剩余台阶数为n-1或n-2,那么跳台阶的种数为f(n-1)+f(n-2)
2. 最后能跳完,则表示该跳法可行,返回1;
3. 剩余步数为负数,则该跳法不可行,返回0
Java 实现:
import java.util.Scanner;
public class 跳台阶 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scanner=new Scanner(System.in);
int n;
while(scanner.hasNext()){
n=scanner.nextInt();
System.out.println(JumpFloor(n));
}
}
public static int JumpFloor(int target) {
if(target==0)
return 1;
if(target<0)
return 0;
return JumpFloor(target-1)+JumpFloor(target-2);
}
}