###### tags: `LeetCode` `Easy` `Dynamic Programming` # LeetCode #70 Climbing Stairs ### (Easy) 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。 --- 由於第i階樓梯可能為從第i-1階樓梯爬一階或是從第i-2階樓梯爬兩階達到, 因此使用迴圈即可得出到達第n階樓梯的組合數。 (當n=0或1時爬法皆為1種, 迴圈從i=2開始) --- ``` class Solution { public: int climbStairs(int n) { int prev1=1, prev2=1, cur=1; for(int i=2;i<=n;i++){ cur=prev1+prev2; prev2=prev1; prev1=cur; } return cur; } }; ```