1. 程式人生 > >LeetCode70 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?

LeetCode70 假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?

假設你正在爬樓梯。需要 n 階你才能到達樓頂。

每次你可以爬 1 或 2 個臺階。你有多少種不同的方法可以爬到樓頂呢?這裡寫程式碼片

class Solution {
public:
    int climbStairs(int n) {
        // int re = 0;
        // if(n == 0 || n == 1){
        //     return 1;
        // }else{
        //     re = climbStairs(n-1)+climbStairs(n-2);
        // }
        // return re;

//非遞迴版本
int a = 1, b = 1, re = 0; if(n == 1 || n ==0){ return 1; } while(--n > 0){ re = a+b; b = a; a = re ; } return re; } };