LeetCode
roadmap.sh: https://roadmap.sh/leetcode
Suggested path through the LeetCode nodes. Each node links to its lesson when written.
Nodes
Core Data Structures
- Arrays
- Strings
- Hash Maps & Hash Sets
- Linked Lists
- Stacks
- Queues & Deques
- Trees (Binary Trees)
- Binary Search Trees
- Heaps / Priority Queues
- Tries (Prefix Trees)
- Graphs (adjacency list / matrix)
- Union-Find (Disjoint Set)
Two Pointers
- Opposite-Ends Two Pointers
- Fast & Slow Pointers (cycle detection)
- Sorting + Two Pointers (e.g. 3Sum)
- Merging Sorted Inputs
Sliding Window
- Fixed-Size Window
- Variable-Size Window
- Window with Hash Map (longest substring)
- Window Maximum (monotonic deque)
Binary Search
- Classic Binary Search
- Search in Rotated Sorted Array
- First / Last Occurrence (boundary search)
- Binary Search on the Answer
Recursion & Backtracking
- Recursion Fundamentals
- Subsets & Combinations
- Permutations
- Backtracking with Pruning
- N-Queens / Constraint Problems
Tree & Graph Traversal
- DFS (recursive & iterative)
- BFS (level-order)
- Tree Path & Depth Problems
- Topological Sort
- Connected Components
- Shortest Path (Dijkstra / BFS)
- Cycle Detection in Graphs
Dynamic Programming
- Memoization (top-down)
- Tabulation (bottom-up)
- 1D DP (climbing stairs, house robber)
- 2D DP (grid paths, edit distance)
- Knapsack Patterns
- Longest Common / Increasing Subsequence
- DP on Intervals & Strings
Greedy
- Interval Scheduling
- Greedy with Sorting
- Greedy Exchange Argument & Proofs
Heaps & Priority Queues
- Top-K Elements
- Merge K Sorted Lists
- Two-Heap (median of stream)
Tries
- Building a Trie
- Prefix Search & Autocomplete
- Word Search / Dictionary Problems
Intervals
- Merge Intervals
- Insert Interval
- Meeting Rooms
Bit Manipulation
- Bitwise Operators
- XOR Tricks (single number)
- Bit Masking & Counting Bits
Math & Misc Patterns
- Prefix Sums
- Monotonic Stack
- Cyclic Sort
- Matrix Manipulation (rotate, spiral)
Practice Strategy
- Big-O Time & Space Analysis
- Pattern Recognition over Memorization
- Spaced Repetition & Review Logs
- Mock Interviews & Timed Sessions
Resources
See resources.md.
Project ideas
- Build a personal pattern-tagged solutions repo where each solved problem is filed under its pattern (two pointers, DP, etc.) with a complexity note.
- Implement every core data structure (heap, trie, union-find, deque) from scratch in your main language with unit tests.
- Write a spaced-repetition tracker that resurfaces previously solved problems on a schedule so patterns stick.