斐波那契数列,用递归跟迭代分别做
斐波那契数列
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
递归
public class Solution {
public int Fibonacci(int n) {
if(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) {
if(n <= 0){
return 0;
}
if(n == 1 || n == 2){
return 1;
}
int one = 0;
int two = 1;
int result = 0;
for(int i = 2; i<=n;i++){
result = one + two;
one = two;
two = result;
}
return result;
}
}