In this post, you will know how to solve the Climbing Stairs Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

One more thing to add, don’t directly look for the solutions, first try to solve the problems of Leetcode by yourself. If you find any difficulty after trying several times, then you can look for solutions.
Problem
You are climbing a staircase. It takes n
steps to reach the top.
Each time you can either climb 1
or 2
steps. In how many distinct ways can you climb to the top?
Example 1:
Input: n = 2 Output: 2 Explanation: There are two ways to climb to the top. 1. 1 step + 1 step 2. 2 steps
Example 2:
Input: n = 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
Constraints:
1 <= n <= 45
Climbing Stairs Leetcode Solutions in Python
class Solution: def climbStairs(self, n: int) -> int: # dp[i] := # Of distinct ways to climb to i-th stair dp = [1, 1] + [0] * (n - 1) for i in range(2, n + 1): dp[i] = dp[i - 1] + dp[i - 2] return dp[n]
Climbing Stairs Leetcode Solutions in CPP
class Solution { public: int climbStairs(int n) { // dp[i] := # of distinct ways to climb to i-th stair vector<int> dp(n + 1); dp[0] = 1; dp[1] = 1; for (int i = 2; i <= n; ++i) dp[i] = dp[i - 1] + dp[i - 2]; return dp[n]; } };
Climbing Stairs Leetcode Solutions in Java
class Solution { public int climbStairs(int n) { // dp[i] := # of distinct ways to climb to i-th stair int[] dp = new int[n + 1]; dp[0] = 1; dp[1] = 1; for (int i = 2; i <= n; ++i) dp[i] = dp[i - 1] + dp[i - 2]; return dp[n]; } }
Note: This problem Climbing Stairs is generated by Leetcode but the solution is provided by BrokenProgrammers. This tutorial is only for Educational and Learning purposes.
Next: Valid Number Leetcode Solution