剑指Offer:07-斐波那契数列

题目描述

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39

思路

实现1-递归

class Solution {
public:
    int Fibonacci(int n) {
        if(n <= 1)
            return n;
        return Fibonacci(n - 1) + Fibonacci(n - 2);
    }
};

实现2-非递归

class Solution {
public:
    int Fibonacci(int n) {
        if(n <= 1) 
            return n;
        
        int first = 0;
        int second = 1;
        int third = 1;
        for(int i = 1; i < n; i++)
        {
            third = first + second;
            first = second;
            second = third;
        }
        return third;
    }
};

你可能感兴趣的:(剑指Offer:07-斐波那契数列)