经典dp问题
设置一个数组dp[i]表示i层楼梯有多少种方法
dp[1]=1;
dp[2]=2;
dp[i]=dp[i-1]+dp[i-2];
i层楼梯最后时,要么走一步,要么走两步,所以有上面的等式
最后返回dp[n]
public int climbStairs(int n) {
if(n == 0 || n==1)return n;
int[] dp = new int[n+1];
dp[1]=1;
dp[2]=2;
for(int i = 3;i<=n;i++){
dp[i]=dp[i-1]+dp[i-2];
}
return dp[n];
}