斐波那契数列(迭代和递归)

1、迭代:

public int fibonacci2(int n) {
        if(n == 0)
            return 0;
        if(n == 1)
            return 1;
        int res = 0;
        int temp1 = 0;
        int temp2 = 1;
        while(n-2 >= 0){
            res = temp1 + temp2;
            temp1 = temp2;
            temp2 = res;
            n--;
        }
        return res;
    }

2、递归(子问题重复求解的弊端):

public int fibonacci(int n) {
        if(n == 0)
            return 0;
        if(n == 1)
            return 1;
        return fibonacci(n-1)+fibonacci(n-2);
    }

你可能感兴趣的:(剑指offer)