题目信息
思路介绍
可以从递归和迭代两个来考虑,传统递归的话容易发生爆栈,所以本题考虑使用迭代的方式。
代码展示
class Solution {
public int fib(int n) {
if(n < 0){
return -1;
}
else if(n == 0){
return 0;
}
else if(n == 1){
return 1;
}
//使用两个变量来存储前一个和当前元素
int pre = 0;
int curr = 1;
while(n > 0){
int temp = pre;
pre = (curr + pre) % 1000000007;
curr = temp;
n--;
}
return pre;
}
}