### LeetCode - Climbing Stairs Java - The Coding Shala

Home >> LeetCode >> Climbing Stairs

## LeetCode Climbing Stairs Problem

In this post, we will see how to solve the leetcode climbing stairs problem in Java.

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?

Note: Given n will be a positive integer.

Example 1:

Input: 2

Output: 2

Explanation: There are two ways to climb to the top.

1. 1 step + 1 step

2. 2 steps

Example 2:

Input: 3

Output: 3

Explanation: There are three ways to climb to the top.

1. 1 step + 1 step + 1 step

2. 1 step + 2 steps

3. 2 steps + 1 step

Practice on Leetcode Click Here

## Climbing Stairs Java Solution

**Approach 1:**

Using dynamic programming.

Java Program:

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

**Approach 2:**

Using Recursion.

Java Program:

class Solution { HashMap<Integer, Integer> map = new HashMap<>(); public int climbStairs(int n) { if(map.containsKey(n)){ return map.get(n); } int result; if(n<=2) result = n; else{ result = climbStairs(n-1)+climbStairs(n-2); } map.put(n,result); return result; } }

**Other Posts You May Like**

- LeetCode - Jewels and Stones
- Check if Given String is Palindrome or not
- Maximum Absolute Difference
- Longest Common Prefix
- Noble Integer

## Comments

## Post a Comment