//循环
public int climbStairs1(int n) { if(n <= 2){ return n; }else { int[] step = new int[n]; step[0] = 1; step[1] = 2; for(int i = 2; i < n; i++) { step[i] = step[i-1] + step[i-2]; } return step[n-1]; } }//数组
public int climbStairs0(int n) { if (n == 0) { return 0; } else if (n == 1) { return 1; } else if (n == 2) { return 2; } else { return climbStairs0(n-1) + climbStairs0(n-2); } }//递归,超时了,n=44