假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?
public class Solution {
/**
* @param n: An integer
* @return: An integer
*/
public int climbStairs(int n) {
int[] a=new int[n];
if(n==0||n==1){
return 1;
}
a[0]=1;a[1]=2;
for(int i=2;i<n;i++){
a[i]=a[i-1]+a[i-2];
}
return a[n-1];
}
}
原文:http://www.cnblogs.com/zhangyongting/p/6518550.html