Leetcode–Climbing Stairs

The Problem:

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. A basic DP problem, use the exact same approach as in Unique Path.

Java Solution

public class Solution {
    public int climbStairs(int n) {
        int[] ways = new int[n+1];
        ways[1] = 1;
        ways[0] = 1;
        for(int i = 2; i < n+1; i++){
            ways[i]=ways[i-1] + ways[i-2];
        return ways[n];

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s