Question
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
Solution
-
递归实现(可能会栈溢出)
-
非递归实现
Code
class Solution {
public:
// 非递归
int Fibonacci(int n) {
if (n == 0)
return 0;
int one = 1;
int two = 1;
int sum = 1;
for (int i = 3; i <= n; i++) {
sum = one + two;
one = two;
two = sum;
}
return sum;
}
// 递归
int Fibonacci(int n) {
if (n == 0)
return 0;
if (n == 1 || n == 2)
return 1;
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
};