LeetCodechevron_rightCategorieschevron_rightrecursion
refresh

recursion

40 problems
Easy: 10Medium: 17Hard: 13

recursion is one of the most repeated interview dimensions. Start with edge-safe fundamentals, then move into pattern-level trade-offs.

Interview Signal

Frequently tests problem modeling, edge handling, and verbal clarity.

Common Pitfall

Template-only answers break under follow-up questioning.

Practice Strategy

Practice in 3-5 problem rounds and always review complexity alternatives.

Recommended Progression

Problem bank

recursion problem bank

Start with a compact scan-friendly list and progressively load more so the topic page stays readable even when the corpus is large.

Progressive topic library

Built for large topic sets: scan the structure first, then go deeper.

hourglass_bottomScroll to continue
search
tuneDifficulty

Showing 24 / 40 problems

+24 per load
#TitleDifficulty
2

Add Two Numbers

Add Two Numbers requires careful linked-list pointer manipulation to sum digits while handling carries efficiently in in…

Medium
10

Regular Expression Matching

The Regular Expression Matching problem involves checking if a string matches a pattern using '.' and '*'.

Hard
21

Merge Two Sorted Lists

Merge two sorted linked lists by splicing nodes into one sorted list using linked-list pointer manipulation and recursio…

Easy
24

Swap Nodes in Pairs

Learn how to swap every adjacent linked-list pair by rewiring nodes safely without changing values or breaking the remai…

Medium
25

Reverse Nodes in k-Group

Reverse Nodes in k-Group challenges you to reverse segments of a linked list in groups of size k.

Hard
44

Wildcard Matching

Implement full wildcard pattern matching using '?' and '*' by applying state transition dynamic programming with careful…

Hard
50

Pow(x, n)

Calculate x to the power n efficiently using recursion and exponentiation, handling negative powers and large inputs saf…

Medium
60

Permutation Sequence

Find the kth permutation sequence of a set of numbers using math and recursion to efficiently compute the result.

Hard
143

Reorder List

Reorder List requires careful pointer manipulation in a singly linked list to interleave nodes from the ends without alt…

Medium
203

Remove Linked List Elements

Remove all nodes from a linked list that have a specific value, adjusting pointers to preserve the rest of the list.

Easy
206

Reverse Linked List

Reverse a singly linked list in place, converting the head to tail, with an iterative or recursive approach.

Easy
224

Basic Calculator

Implement a basic calculator to evaluate mathematical expressions, ensuring correct evaluation with stack-based manageme…

Hard
231

Power of Two

Determine if a given integer is a power of two using efficient math and bit manipulation techniques with optional recurs…

Easy
233

Number of Digit One

Compute the total number of digit one appearing in all numbers from 0 up to n using state transition dynamic programming…

Hard
234

Palindrome Linked List

Solve Palindrome Linked List by finding the midpoint, reversing the second half, and comparing mirrored nodes in linear …

Easy
241

Different Ways to Add Parentheses

Solve Different Ways to Add Parentheses by splitting on each operator and memoizing every subexpression result list.

Medium
273

Integer to English Words

Convert a given integer to its English words representation using mathematical logic and string manipulation.

Hard
326

Power of Three

Determine if a given integer is a power of three using math and recursion techniques.

Easy
342

Power of Four

Determine if a given integer is a power of four using math insights and bit manipulation tricks efficiently in code.

Easy
390

Elimination Game

Elimination Game uses a systematic removal of numbers with alternating left-right passes, solvable with math and recursi…

Medium
394

Decode String

Decode a nested encoded string using stack-based state management, handling repeated patterns efficiently with recursion…

Medium
486

Predict the Winner

Predict the Winner involves two players taking turns to maximize their score by picking from either end of an array, opt…

Medium
509

Fibonacci Number

Calculate the nth Fibonacci number using state transition dynamic programming and recursive techniques efficiently in in…

Easy
736

Parse Lisp Expression

Parse Lisp expressions using stack-based state management to evaluate variables and operations.

Hard

swap_vertScroll inside the bank to auto-load more

Related Patterns

Recursion LeetCode Problems: 40 Solutions