100 Recursion Problems - Leveled List
Easy Problems
1. Factorial of a number (GeeksforGeeks) - Basic recursion
2. Fibonacci Number (LeetCode #509) - Basic recursion
3. Sum of digits (Coding Ninjas) - Basic recursion
4. Power of a number (Coding Ninjas) - Basic recursion
5. Print numbers from N to 1 (Coding Ninjas) - Decreasing recursion
6. Print numbers from 1 to N (Coding Ninjas) - Increasing recursion
7. Check Palindrome (Coding Ninjas) - String recursion
8. Reverse a string (LeetCode #344) - String recursion
9. Check if array is sorted (Coding Ninjas) - Array recursion
10. Linear Search using recursion (Coding Ninjas) - Basic recursion
11. Binary Search using recursion (GeeksforGeeks) - Divide and conquer
12. Find first and last occurrence (Coding Ninjas) - Recursive search
13. Count zeros in number (Coding Ninjas) - Digit recursion
14. Replace pi with 3.14 (Coding Ninjas) - String replacement
15. Remove duplicates from string (Coding Ninjas) - String manipulation
16. Tower of Hanoi (GeeksforGeeks) - Classic recursion
17. Print all subsequences (Coding Ninjas) - Backtracking base
18. Subset sum (Coding Ninjas) - Recursive subset
19. Check if subset sum exists (Coding Ninjas) - Backtracking
20. Generate all binary strings (Coding Ninjas) - Binary combinations
21. Count ways to climb stairs (LeetCode #70) - Recursive DP
22. Minimum steps to one (Coding Ninjas) - Top-down recursion
23. Friends pairing problem (GeeksforGeeks) - Classic recursion
24. Count Good Numbers (LeetCode #2314) - Recursive pattern
25. Number of steps to reduce a number to zero (LeetCode #1342) - Basic recursion
26. Sum of N natural numbers (Coding Ninjas) - Recursive math
27. GCD using recursion (GeeksforGeeks) - Euclid's algorithm
28. LCM using recursion (Coding Ninjas) - Math recursion
29. Sum of array elements (Coding Ninjas) - Recursive summation
30. Product of array elements (Coding Ninjas) - Recursive product
100 Recursion Problems - Leveled List
31. String to Integer conversion (Coding Ninjas) - Recursive parse
32. Check balanced parentheses (Coding Ninjas) - Recursive check
33. Convert decimal to binary (Coding Ninjas) - Math recursion
34. Count vowels in a string (Coding Ninjas) - String recursion
35. Merge sort (Coding Ninjas) - Divide and conquer
36. Quick sort (Coding Ninjas) - Recursive sorting
37. Palindrome Linked List (LeetCode #234) - Recursive LL
38. Same Tree (LeetCode #100) - Tree recursion
39. Symmetric Tree (LeetCode #101) - Tree recursion
40. Maximum Depth of Binary Tree (LeetCode #104) - Tree recursion
Medium Problems
41. Subsets (LeetCode #78) - Backtracking with recursion
42. Permutations (LeetCode #46) - Backtracking + recursion
43. Combination Sum (LeetCode #39) - Backtracking
44. Letter Combinations of a Phone Number (LeetCode #17) - DFS recursion
45. Generate Parentheses (LeetCode #22) - Backtracking
46. Unique Paths (LeetCode #62) - DP recursion
47. Decode Ways (LeetCode #91) - DP + recursion
48. Climbing Stairs (LeetCode #70) - Fibonacci variant
49. House Robber (LeetCode #198) - Memoized recursion
50. Subsets II (Handling Duplicates) (LeetCode #90) - Backtracking
51. Combinations (LeetCode #77) - Recursive generation
52. Path Sum II (LeetCode #113) - Tree DFS
53. All Paths from Source to Target (LeetCode #797) - DFS graph recursion
54. Flatten Binary Tree (LeetCode #114) - Tree recursion
55. Construct Binary Tree from Preorder (LeetCode #105) - Recursive build
56. Binary Tree Zigzag Level Order (LeetCode #103) - Recursive level wise
57. Find Kth Symbol in Grammar (LeetCode #779) - Math recursion
58. Find All Anagrams in String (LeetCode #438) - Sliding window + recursion
59. Power of Three (LeetCode #326) - Recursive division
100 Recursion Problems - Leveled List
60. Count Good Nodes in Binary Tree (LeetCode #1448) - DFS recursion
61. Binary Tree Maximum Path Sum (LeetCode #124) - Postorder + recursion
62. Maximum Depth of N-ary Tree (LeetCode #559) - Recursive children traversal
63. Count Univalue Subtrees (LeetCode #250) - Tree logic
64. Sum Root to Leaf Numbers (LeetCode #129) - Path building recursion
65. Palindrome Partitioning (LeetCode #131) - Backtracking recursion
66. Find Duplicate Subtrees (LeetCode #652) - Subtree serialization
67. Construct Quad Tree (LeetCode #427) - Divide and recurse
68. Merge K Sorted Lists (LeetCode #23) - Divide and merge recursion
69. Flatten Nested List Iterator (LeetCode #341) - Recursive iterator
70. Word Break (LeetCode #139) - Memoization
71. Scramble String (LeetCode #87) - Recursive string comparison
72. Unique Binary Search Trees (LeetCode #96) - Catalan number logic
73. Partition to K Equal Sum Subsets (LeetCode #698) - Recursive + bitmask
74. Construct Binary Tree from In/Postorder (LeetCode #106) - Recursive build
75. Target Sum (LeetCode #494) - Recursion with memoization
76. Letter Case Permutation (LeetCode #784) - Recursive branching
77. Number of Islands (LeetCode #200) - DFS recursion
78. Minimum Path Sum (LeetCode #64) - Recursion with grid
79. Unique Paths II (LeetCode #63) - Obstacle handling in recursion
Hard Problems
81. Regular Expression Matching (LeetCode #10) - Recursive DP
82. Sudoku Solver (LeetCode #37) - Backtracking recursion
83. N-Queens (LeetCode #51) - Backtracking
84. Word Search II (LeetCode #212) - Trie + DFS recursion
85. The Skyline Problem (LeetCode #218) - Divide and conquer
86. Interleaving String (LeetCode #97) - 3D recursion
87. Distinct Subsequences (LeetCode #115) - Recursive subsequence count
88. Palindrome Pairs (LeetCode #336) - Recursion + trie
89. Minimum Insertion Steps to Make a String Palindrome (LeetCode #1312) - DP recursion
100 Recursion Problems - Leveled List
90. Scramble String (LeetCode #87) - Memoization + recursion
91. Restore IP Addresses (LeetCode #93) - Backtracking
92. Longest Increasing Path in Matrix (LeetCode #329) - Memoized DFS
93. Number of Distinct Islands (LeetCode) - Shape based recursion
94. Maximal Rectangle (LeetCode #85) - Recursion with histogram
95. Count Different Palindromic Subsequences (LeetCode #730) - DP + recursion
96. Paint House II (LeetCode #265) - Memoized recursion
97. Burst Balloons (LeetCode #312) - Divide and conquer
98. Minimum Cost to Merge Stones (LeetCode #1000) - Recursive cost calculation
99. Expression Add Operators (LeetCode #282) - Backtracking recursion
100. Remove Boxes (LeetCode #546) - DP recursion