跳台阶

    xiaoxiao2025-08-08  14

    一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

    方法1:递归

    public class Solution { public int JumpFloor(int target) { if(target==1) //当只有一层台阶时,只有1种情况 return 1; if(target==2) //当只有二层台阶时,有2种情况 return 2; return JumpFloor(target-1)+JumpFloor(target-2);//最后一次时可能剩下两个台阶或者一个台阶,每种情况只有一种可能 } }

    方法二:非递归

    public class Solution { public int JumpFloor(int target) { if(target<1) return 1; if(target==1) //当只有一层台阶时,只有1种情况 return 1; if(target==2) //当只有二层台阶时,有2种情况 return 2; int num1=1,num2=2,res=0; for(int i=3;i<=target;i++){ res=num1+num2; //当n=3,4,5,6,...,n时,res为结果 num1=num2; num2=res; } return res; } }

    剑指offer编程题

    最新回复(0)