- 1. Array
- 3. Linked List
- leet237 - Delete/Add Node in a Linked List
- leet203 - Remove Linked List Elements
- leet206 - Reverse Linked List
- leet141 - Linked List Cycle
- leet160 - Intersection of Two Linked List
- 4. Hash Table
- leet1 - Two Sum
- leet136 - Single Number
- leet217/219 - Contains Duplicates I/II
- 5. Tree
- Implement a Tree / Find a Node / Delete a Node / Insert a Node
- Tree Traversal - in/pre/post order
- leet226 - Invert Binary Tree
- leet572 - Subtree of Another Tree
- 6. Stack
- leet155 - Min Stack
- leet232 - Implement Queues with Stack
- leet225 - Implement Stack with Queues
- leet20 - Valid Parentheses
- 7. Binary Search
- Loop
- Recursion
- 8. Depth First Search
- 9. Breadth Fist Search