LeetCode Climbing Stairs

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?

 

 

 1 public class Solution {
 2     public int climbStairs(int n) {
 3             int f1,f2;
 4             int res=0;
 5             if (n==1) {
 6                 return 1;
 7             }
 8             if (n==2) {
 9                 return 2;
10             }
11             f1=1;
12             f2=2;
13             for (int i = 3; i <= n; i++) {
14                 res=f1+f2;
15                 f1=f2;
16                 f2=res;
17             }
18             return res;
19     }
20 }

 

posted @ 2014-09-22 21:54  birdhack  阅读(110)  评论(0编辑  收藏  举报