All Patterns

Backtracking

Explore all candidates by building solutions incrementally and abandoning paths that can't lead to valid answers.

When to use

  • Generate all permutations/combinations/subsets
  • Constraint satisfaction (Sudoku, N-Queens)
  • Path finding with constraints

When NOT to use

  • Counting problems (use DP)
  • Finding a single optimum (use greedy/DP)

Common traps

  • Forgetting to undo choices (backtrack)
  • Not pruning early enough
  • Duplicate results from equivalent branches

Key Invariant

Choose → Explore → Unchoose — always undo the last choice before trying the next branch

Problems (17)

#96Subsets
medium
#97Permutations
medium
#98Combination Sum
medium
#99Letter Combinations of a Phone Number
medium
#203Pow(x, n)
medium
#204Tower of Hanoi
medium
#205Generate Parentheses
medium
#218Palindrome Partitioning
medium
#270Restore IP Addresses
medium
#271Combinations
medium
#272Combination Sum II
medium
#273Combination Sum III
medium
#274Permutations II
medium
#39Word Search
hardFREE
#267N-Queens
hard
#268N-Queens II
hard
#269Sudoku Solver
hard