4.19
没试递归的方式,估计是会超时的。
这题有一次和妈妈爬山的时候讨论过呢。
public class Solution {
/**
* @param n: An integer
* @return: An integer
*/
public int climbStairs(int n) {
// write your code here
if(n <= 0){
return 1;
}
if(n ==1){
return 1;
}
if(n ==2){
return 2;
}
int tmp1 = 1;//存储n-2的值
int tmp2 = 2;//存储n-1的值
int flag = 2;
while(flag < n){
int tmp = tmp1;
tmp1 = tmp2;
tmp2 = tmp2+tmp;
flag++;
}
return tmp2;
//return climbStairs(n-1) + climbStairs(n-2);
}
}