Climbing Stairs

Question:

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?

Solution:

 1 class Solution {
 2 public:
 3     int climbStairs(int n) {
 4     if(1==n)
 5         return 1;
 6     if(2==n)
 7         return 2;
 8     vector<int> count;
 9     count.push_back(1);
10     count.push_back(2);
11     for(int i=2;i<n;i++)
12     {
13         count.push_back(count[i-1]+count[i-2]);
14     }
15     return count[n-1];   
16     }
17 };

Climbing Stairs_第1张图片

你可能感兴趣的:(bing)