【数据结构与算法】(五)递归

LeetCode

爬楼梯  

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

注意:给定 n 是一个正整数。

 int climbStairs(int n) {
     
      if (n == 1) return 1;
      if (n == 2) return 2;

      int ret = 0;
      int pre = 2;
      int prepre = 1;
      for (int i = 3; i <= n; ++i) {
        ret = pre + prepre;
        prepre = pre;
        pre = ret;
      }
      return ret;
    }

猜你喜欢

转载自www.cnblogs.com/jiwen/p/11403789.html
今日推荐