- 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 |