解法一:
public class Solution { public int Fibonacci(int n) { if (n <= 1) return n; int a0 = 0, a1 = 1, ret = 0; for (int i = 2; i <= n; i++) { ret = a0 + a1; a0 = a1; a1 = ret; } return ret; } }
解法二:
进一步减少存储变量个数到2个:
public class Solution { public int Fibonacci(int n) { if (n <= 1) return n; int one = 0, sum = 1; for(int i = 2; i <= n; i++) { sum = sum + one; one = sum - one; } return sum; } }