- rolemadelen (Eastern Daylight Time)
- SeoSeo (Korea Time)
- Singly Linked List
- Implement (with/without tail pointer)
- size()
- isEmpty()
- pushFront(value)
- pushBack(value)
- popFront()
- popBack()
- getFront()
- getBack()
- reverse()
- insert(index, value) - 0-based index
- Know the time complexity for each methods
- Know the difference between Singly, Doubly and Circular Linked List
- Know when to use Linked Lists and Arrays
- Implement (with/without tail pointer)
- Stack | issue
- Implement using Linked List
- top()
- isEmpty()
- push(value)
- pop()
- Know the time complexity for each methods
- Implement using Linked List
- Queue | issue
- Implement using Linked List
- getFront()
- getRear()
- enqueue(value)
- dequeue()
- Implement using fixed-size array
- getFront()
- getRear()
- isEmpty()
- isFull()
- enqueue(value)
- dequeue()
- What's the limitation of Queue implemented with a fixed-size array?
- Know the time complexity for each methods
- Implement using Linked List
- Tree
- Intro to Trees (video)
- Tree Traversal (video)
- Inorder
- Preorder
- Postorder
- Understand BFS (Breadth First Search)
- Understand DFS (Depth First Serach)
- Binary Search Tree (BST)
- Implement
- insert(value)
- DFS
- inorder()
- preorder()
- postorder()
- getMin()
- getMax()
- bfs() -- print values in level order
- existInTree(value)
- Implement
- Heap
- Implement MinHeap
- Implement MaxHeap
- Priority Queue
- no implementation
- Understand what PQ is.
- Graph
- Implement
- Adjacency List
- Adjacency Matrix
- Implement
| # | Problem | Difficulty |
|---|---|---|
| 2 | Add Two Numbers | Medium |
| 19 | Remove Nth Node From End of List | Medium |
| 21 | Merge Two Sorted Lists | Easy |
| 23 | Merge k Sorted Lists | Hard |
| 83 | Remove Duplicates from Sorted List | Easy |
| 141 | Linked List Cycle | Easy |
| 146 | LRU Cache | Medium |
| 160 | Intersection of Two Linked Lists | Easy |
| 203 | Remove Linked List Elements | Easy |
| 206 | Reverse Linked List | Easy |
| 234 | Palindrome Linked List | Easy |
| 237 | Delete Node in a Linked List | Easy |
| 432 | All O`one Data Structure | Hard |
| 876 | Middle of the Linked List | Easy |
| 1206 | Convert Binary Number in a Linked List to Integer | Easy |
| 1290 | Design Skiplist | Hard |
| 1669 | Merge In Between Linked Lists | Medium |
| 2181 | Merge Nodes in Between Zeros | Medium |
| # | Problem | Difficulty |
|---|---|---|
| 20 | Valid Parentheses | Easy |
| 232 | Implement Queue using Stacks | Easy |
| 234 | Palindrome Linked List | Easy |
| 1021 | Remove Outermost Parentheses | Easy |
| 1047 | Remove All Adjacent Duplicates In String | Easy |
| 1614 | Maximum Nesting Depth of the Parentheses | Easy |
| 173 | Binary Search Tree Iterator | Medium |
| 654 | Maximum Binary Tree | Medium |
| 946 | Validate Stack Sequences | Medium |
| 1008 | Construct Binary Search Tree from Preorder Traversal | Medium |
| 1381 | Design a Stack With Increment Operation | Medium |
| 1441 | Build an Array With Stack Operations | Medium |
| 1472 | Design Browser History | Medium |
| 2130 | Maximum Twin Sum of a Linked List | Medium |
| 726 | Number of Atoms | Hard |
| 736 | Parse Lisp Expression | Hard |
| 895 | Maximum Frequency Stack | Hard |
| 1944 | Number of Visible People in a Queue | Hard |
| # | Problem | Difficulty |
|---|---|---|
| 225 | Implement Stack using Queues | Easy |
| 933 | Number of Recent Calls | Easy |
| 1700 | Number of Students Unable to Eat Lunch | Easy |
| 950 | Reveal Cards In Increasing Order | Medium |
| 1670 | Design Front Middle Back Queue | Medium |
| 1823 | Find the Winner of the Circular Game | Medium |
| 2327 | Number of People Aware of a Secret | Medium |
| 239 | Sliding Window Maximum | Hard |
| 936 | Stamping The Sequence | Hard |
| 2444 | Count Subarrays With Fixed Bounds | Hard |

