题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
思路:迭代
不能用递归,不然会stack overflow
class Solution {
public:
int Fibonacci(int n) {
if(n == 0) return 0;
if(n == 1) return 1;
int f1 = 0, f2 = 1;
while(n-- > 1){//从{0 ,1}后面开始算起
f2 += f1;
f1 = f2 - f1;//本质是让f1 = 原来的f2,这样写省空间
}
return f2;
}
};