题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。
n<=39
思路:递归
/*
使用递归始终牢记两个关键点:
1、终止条件
2、循环体--->找到规律点
*/
public class Solution {
public int Fibonacci(int n) {
if(n==0)return 0;
else if(n==1||n==2)return 1;
else{
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
}
思路:迭代
/*
优雅的迭代,动态规划方法
*/
public class Solution {
public int Fibonacci(int n) {
int f = 0, g = 1;
while((n--)>0) { //此处不能用--n,return g,当n=0时会返回1而出错
g += f;
f = g - f;
}
return f;
}
}