LeetCode · Backtracking

Backtracking Problem Set

Choose → explore → unchoose. Generate all valid combinations, permutations, and partitions. The key: define the decision tree and pruning conditions.

Concept page: Backtracking
DifficultyPatternProblemKey Insight
MediumsubsetsLC 78 · SubsetsInclude/exclude each element. 2ⁿ subsets. O(n · 2ⁿ).
MediumsubsetsLC 90 · Subsets IISort + skip duplicates at same level. O(n · 2ⁿ).
MediumcombinationLC 39 · Combination SumUnlimited reuse, start from current index onwards. O(2ⁿ).
MediumcombinationLC 40 · Combination Sum IINo reuse per index. Sort + skip duplicates at the same depth. O(2ⁿ).
MediumpermutationLC 46 · PermutationsSwap-based or used-array approach. n! permutations. O(n · n!).
MediummappingLC 17 · Letter Combinations of a Phone NumberMap digits to letters, backtrack through positions. O(4ⁿ).
MediumgridLC 79 · Word SearchDFS on grid with visited tracking. O(m · n · 4ᴸ).
MediumpartitionLC 131 · Palindrome PartitioningTry every prefix, recurse on suffix if prefix is palindrome. O(n · 2ⁿ).
HardconstraintLC 51 · N-QueensPlace queen per row, check column + diagonals. O(n!).

← Back to all LeetCode categories