剑指offer——斐波那契数列
1. 题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
2. 知识点总结
斐波那契数列:百度百科
F(0) = 0
F(1) = 1
F(n) = F(n-1) + F(n-2),(n>=2)
斐波那契数列的递归算法与非递归算法
3. 我的解题思路
非递归:
public class Solution {
public int Fibonacci(int n) {
int a=0,b=1,result=0;
if(n<=0){
result=0;
}
if(n==1){
result=1;
}
for(int i=2;i<=n;i++){
result=a+b;
a=b;
b=result;
}
return result;
}
}
递归:
public class Solution {
public int Fibonacci(int n) {
if(n==0||n==1){
return n;
}else{
return Fibonacci(n-1)+Fibonacci(n-2);
}
}
}
或者(递归):
public class Solution {
public int Fibonacci(int n) {
return (n==1||n==0)? n:(Fibonacci(n-1)+Fibonacci(n-2));
}
}