LeetCode Algorithms #70 <Climbing Stairs>

来源:互联网 发布:菠萝彩软件下载 编辑:程序博客网 时间:2024/05/17 04:57

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个阶梯迈两步。所以就是n-1个阶梯方法数和n-2个阶梯方法数的和。

解:

class Solution {public:    int climbStairs(int n) {        if (!n)            return 1;        int pre2 = 1;        int pre1 = 1;        for (int index = 2; index <= n; index++)         {            int temp = pre1 + pre2;            pre2 = pre1;            pre1 = temp;        }        return pre1;    }};


0 0
原创粉丝点击