【考点:递归和循环】斐波那契数列
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。n<=39
解法一:递归
public class Solution {
public int Fibonacci(int n) {
if(n > 39 || n <= 0) return 0;
if(n == 1 || n == 2) return 1;
//调用递归去计算
return (Fibonacci(n - 1) + Fibonacci(n - 2));
}
}
解法二:循环
public class Solution {
public int Fibonacci(int n) {
int preNum=1;
int prePreNum=0;
int result=0;
if(n==0)
return 0;
if(n==1)
return 1;
for(int i=2;i<=n;i++){
result=preNum+prePreNum;
prePreNum=preNum;
preNum=result;
}
return result;
}
}
更多算法解答请点击
《剑指offer》66题JAVA代码算法实现全集