《劍指Offer》遞迴和迴圈--斐波那契數列
時間限制:1秒 空間限制:32768K 熱度指數:415020
題目描述
大家都知道斐波那契數列,現在要求輸入一個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。
n<=39
思路1:用遞迴
public class Solution {
public int Fibonacci(int n) {
if(n == 0)
return 0;
else if(n == 1)
return 1;
else if(n == 2)
return 1;
else{
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
}
}
思路2:用迴圈
public class Solution {
public int Fibonacci(int n) {
int preNum = 1;
int prepreNum = 0;
int result = 0;
if(n == 0)
result = 0;
if(n == 1)
result = 1;
for(int i = 2; i <= n; i++){
result = preNum + prepreNum;
prepreNum = preNum;
preNum = result;
}
return result;
}
}