1.思路:
非递归和递归两种版本
2.代码:
class Solution {
public:
int Fibonacci(int n) {
if(n == 0) return 0;
if(n == 1 || n == 2) return 1;
int tmp1 = 1, tmp2 = 1, tmp3;
for(int i = 0; i <= n - 3; ++i){
tmp3 = tmp1 + tmp2;
tmp1 = tmp2;
tmp2 = tmp3;
}
return tmp3;
}
};
class Solution {
public:
int Fibonacci(int n) {
if(n == 0) return 0;
if(n == 1) return 1;
if(n == 2) return 1;
return Fibonacci(n - 1) + Fibonacci(n - 2);
}
};

2808

被折叠的 条评论
为什么被折叠?



