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

#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
761

Special Binary String

Solve the Special Binary String problem using string manipulation and recursion, optimizing lexicographical order.

Hard
770

Basic Calculator IV

Simplify mathematical expressions using stack-based state management, handling variables, operators, and polynomial term…

Hard
779

K-th Symbol in Grammar

Determine the K-th symbol in a recursively generated grammar table using math and bit manipulation patterns efficiently.

Medium
894

All Possible Full Binary Trees

Generate all possible full binary trees with n nodes, focusing on dynamic programming and binary tree traversal.

Medium
1106

Parsing A Boolean Expression

Solve the "Parsing A Boolean Expression" problem by evaluating boolean expressions using stack-based state management, r…

Hard
1545

Find Kth Bit in Nth Binary String

Determine the k-th bit in the n-th binary string using a recursive construction that inverts and reverses previous strin…

Medium
1808

Maximize Number of Nice Divisors

Solve Maximize Number of Nice Divisors by splitting primeFactors into mostly 3s and using fast modular exponentiation.

Hard
1823

Find the Winner of the Circular Game

Find the winner of a circular game by simulating the elimination process with a queue-driven approach.

Medium
1922

Count Good Numbers

Count Good Numbers uses a mathematical pattern with recursion to efficiently count digit strings of length n under stric…

Medium
1969

Minimum Non-Zero Product of the Array Elements

The problem asks to minimize the product of an array after performing bit-swapping operations on its binary representati…

Medium
2487

Remove Nodes From Linked List

This problem requires removing nodes from a linked list when a larger node exists to their right, testing pointer manipu…

Medium
2550

Count Collisions of Monkeys on a Polygon

Calculate the total number of monkey collisions on a convex polygon using math and recursion efficiently for large n.

Medium
3304

Find the K-th Character in String Game I

Find the K-th character in a progressively built string using math and bit manipulation efficiently.

Easy
3307

Find the K-th Character in String Game II

Find the K-th character in a string game using bit manipulation and recursion, optimizing performance for large k values…

Hard
3483

Unique 3-Digit Even Numbers

Given an array of digits, find how many distinct 3-digit even numbers can be formed without repetition of digits and no …

Easy
3566

Partition Array into Two Equal Product Subsets

Determine if you can partition an array into two subsets with equal product using recursion and bit manipulation.

Medium

Related Patterns

Recursion LeetCode Problems: 40 Solutions