Chapter 1: Arrays and Strings
- Is Unique
- Check Permutation
- URLify
- Palindrome Permutation
- One Away
- String Compression
- Rotate Matrix
- Zero Matrix
- String Rotation
Chapter 2: Linked Lists
- Remove Dups
- Return Kth to Last
- Delete Middle Node
- Partition
- Sum Lists
- Palindrome
- Intersection
- Loop Detection
Chapter 3: Stacks and Queues
Chapter 4: Trees and Graphs
- Route Between Nodes
- Minimal Tree
- List of Depths
- Check Balanced
- Validate BST
- Successor
- Build Order
- First Common Ancestor
- BST Sequences
- Check Subtree
- Random Node
- Paths with Sum
Chapter 10: Sorting and Searching
- Sorted Merge
- Group Anagrams
- Search in Rotated Sorted Array
- Sorted Search, No Size
- Sparse Search
- Sort Big File
- Missing Int
- Find Duplicates
- Sorted Matrix Search
- Rank from Stream
- Peaks and Valleys
Chapter 8: Recursion and Dynamic Programming
- Triple Step – Staircase
- Robot in a Grid
- Magic Index
- Power Set
- Recursive Multiply
- Towers of Hanoi
- Permutations without Dups
- Permutations with Dups
- Parens
- Paint Fill
- Coins
- Eight Queens
- Stack of Boxes
- Boolean Evaluation
Chapter 5: Bit Manipulation
- Insertion
- Binary to String
- Flip Bit to Win
- Next Number
- Debugger
- Conversion
- Pairwise Swap
- Draw Line
Chapter 6: Math and Logic Puzzles
- The Heavy Pill
- Basketball
- Dominos
- Ants on a Triangle
- Jugs of Water
- Blue-Eyed Island
- The Apocalypse
- The Egg Drop Problem
- 100 Lockers
- Poison
Chapter 16: Moderate
Chapter 17: Hard
Chapter 7: Object Oriented Design
- Deck of Cards
- Call Center
- Jukebox
- Parking Lot
- Online Book Reader
- Jigsaw
- Chat Server
- Othello
- Circular Array
- Minesweeper
- File System
- Hash Table
Chapter 9: System Design and Scalability
Chapter 11: Testing
Chapter 12: C and C++
Chapter 13: Java
Chapter 14: Databases
Chapter 15: Threads and Locks