编辑代码

class Main {
    public static void main(String[] args) {
        System.out.println(climbStairs1(5));
        System.out.println(climbStairs2(5));
    }

    static int climbStairs1(int n){
        if (n == 1){
            return 1;
        }
        if (n == 2){
            return 2;
        }
        return climbStairs1(n - 1) + climbStairs1(n - 2);
    }

    static int climbStairs2(int n){
        int p = 0;
        int q = 1;
        int r = 0;
        for (int i = 0; i < n; i++){
            r = p + q;
            p = q;
            q = r;
        }
        return r;
    }
}