題目描述
假設你正在爬樓梯。需要 n 階你才能到達樓頂。
每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?
注意:給定 n 是一個正整數。
代碼
class Solution {
public:
int climbStairs(int n) {
if (n < 2) {
return 1;
} else if (n == 2) {
return 2;
}
int sum = 0;
int pre1 = 1, pre2 = 2;
for (int i = 3; i <= n; i++) {
sum = pre1 + pre2;
pre1 = pre2;
pre2 = sum;
}
return sum;
}
};