1. 程式人生 > >《劍指Offer》遞迴和迴圈--斐波那契數列

《劍指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;
    }
}