題目描述
一只青蛙一次可以跳上1級臺階,也可以跳上2級。求該青蛙跳上一個n級的臺階總共有多少種跳法(先后次序不同算不同的結果)。
解題思路一
遞歸式
public static int JumpFloor(int target) {
if (target == 1)
return 1;
else if (target == 2)
return 2;
else {
return JumpFloor(target - 1) + JumpFloor(target - 2) ;
}
}
解題思路二
非遞歸式
public static int JumpFloor2(int target) {
if (target == 1)
return 1;
else if (target == 2)
return 2;
else{
int num1 = 1, num2 = 2, result = 0;
for (int i = 3; i <= target; i++){
result = num1 + num2;
num1 = num2;
num2 = result;
}
return result;
}
}