台阶只有一阶,则有1种跳法,f(1)=1。
台阶只有两阶,则有2中跳法,f(2)=2。
当最后一次跳一级,剩下的n-1级则有f(n-1)种跳法。
当最后一次跳两级,剩下的n-2级则有f(n-2)种跳法。
因此共有f(n)=f(n-1)+f(n-2)种跳法。
public class Solution {
    public int JumpFloor(int target) {
		if(target<1) return 0;
        
        if(target==1) return 1;
        if(target==2) return 2;
        return JumpFloor(target-1)+JumpFloor(target-2);
    }
}
f(n)表示总的跳法。
f(1)=1;
f(2)=2;
f(3)=f(3-1)+f(3-2)+f(3-3);
……
f(n)=f(n-1)+f(n-2)+……+f(0)
故f(n)=2*f(n-1);
public class Solution {
    public int JumpFloor(int target) {
		if(target<1) return 0;
        
        if(target==1) return 1;
        if(target==2) return 2;
        return JumpFloor(target-1)+JumpFloor(target-2);
    }
}
原文:http://www.cnblogs.com/wuchaodzxx/p/6639840.html