解法一:
class Solution {
public:
int climbStairs(int n) {
int cur=1,prev=0;
for(int i=1;i<=n;++i)
{
int tmp=cur;
cur+=prev;
prev=tmp;
}
return cur;
}
};
解法二:
class Solution {
public:
int climbStairs(int n) {
const double s=sqrt(5);
return floor((pow((s+1)/2,n+1)+pow((1-s)/2,n+1))/s+0.5);
}
};