码迷,mamicode.com
首页 > 其他好文 > 详细

【leetcode】Climbing Stairs (easy)

时间:2014-11-21 18:03:09      阅读:173      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   ar   color   sp   for   on   div   

You are climbing a stair case. It takes n steps to reach to the top.

Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

 

跳台阶,之前写过递归的,这次写个非递归的。

到第n层的方式 其实就是 到第n-1层的方式(爬一层)和到第n-2层的方式(爬两层)的和

class Solution {
public:
    int climbStairs(int n) {
        if(n <= 0) return 0;
        else if(n == 1) return 1;
        else if(n == 2) return 2;
        else
        {
            int way1 = 2;
            int way2 = 1;
            int ans = 0;
            for(int i = 3; i <= n; i++)
            {
                ans = way1 + way2;
                way2 = way1;
                way1 = ans;
            }
            return ans;
        }
    }
};

 

【leetcode】Climbing Stairs (easy)

标签:style   blog   io   ar   color   sp   for   on   div   

原文地址:http://www.cnblogs.com/dplearning/p/4113232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!