1 public int Fibonacci(int n) {
2 //如果n=0,返回0,如果n=1或者n=2,返回1
3 if (n < 3) {
4 return n > 0 ? 1 : 0;
5 }
6 int f1 = 1;//f1指针指向前面一个数
7 int f2 = 1;//f1指针指向后面一个数
8 for (int i = 3; i <= n; i++) {
9 // sum临时保存f1 + f2的和
10 int sum = f1 + f2;
11 f1 = f2;//f1指针指向f2,指向下一次求和的前面一个数
12 f2 = sum;//f2指针指向sum,指向下一次求和的后面一个数
13 }
14 // 返回值返回sum或者f2都可以
15 return f2;
16 }