不用递归的方法更快

    1. int fib(int n){
    2. if (n == 0) return 0;
    3. if (n == 1) return 1;
    4. long long result = 0, f1 = 0, f2 = 1;
    5. for (unsigned int i = 2;i <= n; ++i) {
    6. result = (f1 + f2) % 1000000007;
    7. f1 = f2;
    8. f2 = result;
    9. }
    10. return result;
    11. }

    leedcode通过:

    1. 执行用时:0 ms, 在所有 C 提交中击败了100.00% 的用户
    2. 内存消耗:5.4 MB, 在所有 C 提交中击败了55.67% 的用户