As I work through this list I figure I would make a GitHub repo with my solutions along with articles and videos that relate to the problems that I've found helpful.
- Two Sum #1
- Valid Parentheses #20
- Merge Two Sorted Lists #21
- Best Time to Buy and Sell Stock #121
- Valid Palindrome #125
- Invert Binary Tree #226
- Valid Anagram #242
- Binary Search #704
- Flood Fill #733
- Lowest Common Ancestor of a Binary Search Tree #235
- Balanced Binary Tree #110
- Linked List Cycle #141
- Implement Queue using Stacks #232
- First Bad Version #278
- Ransom Note #383
- Climbing Stairs #70
- Longest Palindrome #409
- Reverse Linked List #206
- Majority Element #169
- Add Binary #67
- Diameter of Binary Tree #543
- Middle of the Linked List #876
- Maximum Depth of Binary Tree #104
- Contains Duplicate #217
- Maximum Subarray #53
- Insert Interval #57
- 01 Matrix #542
- K Closest Points to Origin #973
- Longest Substring Without Repeating Characters #3
- 3Sum #15
- Binary Tree Level Order Traversal #102
- Clone Graph #133
- Evaluate Reverse Polish Notation #150
- Course Schedule #207
- Implement Trie (Prefix Tree) #208
- Coin Change #322
- Product of Array Except Self #238
- Min Stack #155
- Validate Binary Search Tree #98
- Number of Islands #200
- Rotting Oranges #994
- Search in Rotated Sorted Array #33
- Combination Sum #39
- Permutations #46
- Merge Intervals #56
- Lowest Common Ancestor of a Binary Tree #236
- Time Based Key-Value Store #981
- Accounts Merge #721
- Sort Colors #75
- Word Break #139
- Partition Equal Subset Sum #416
- String to Integer (atoi) #8
- Spiral Matrix #54
- Subsets #78
- Binary Tree Right Side View #199
- Longest Palindromic Substring #5
- Unique Paths #62
- Construct Binary Tree from Preorder and Inorder Traversal #105
- Container With Most Water #11
- Letter Combinations of a Phone Number #17
- Word Search #79
- Find All Anagrams in a String #438
- Minimum Height Trees #310
- Task Scheduler #621
- LRU Cache #146
- Kth Smallest Element in a BST #230
- Minimum Window Substring #76
- Serialize and Deserialize Binary Tree #297
- Trapping Rain Water #42
- Find Median from Data Stream #295
- Word Ladder #127
- Basic Calculator #224
- Maximum Profit in Job Scheduling #1235
- Merge k Sorted Lists #23
- Largest Rectangle in Histogram #84
In order to practice with similar data structures I'll be placing each problem in the categories below, along with some similar problems nested below to help practice with those data structures.
- Two Sum #1
- Best Time to Buy and Sell Stock #121
- Binary Search #704
- Flood Fill #733
- Maximum Subarray #53
- Majority Element #169
- Contains Duplicate #217
- K Closest Points to Origin #973
- Insert Interval #57
- 01 Matrix #542
- 3Sum #15
- Merge Intervals #56
- Evaluate Reverse Polish Notation #150
- Maximum Units on a Truck #1710
- Meeting Rooms II
- Coin Change #322
- Product of Array Except Self #238
- Number of Islands #200
- Rotting Oranges #994
- Search in Rotated Sorted Array #33
- Combination Sum #39
- Trapping Rain Water #42
- Invert Binary Tree #226
- Flood Fill #733
- Implement Queue using Stacks #232
- Maximum Depth of Binary Tree #104
- Binary Tree Level Order Traversal #102
- Coin Change #322
- Number of Islands #200
- Rotting Oranges #994
- Valid Parentheses #20
- Invert Binary Tree #226
- Flood Fill #733
- Implement Queue using Stacks #232
- Maximum Depth of Binary Tree #104
- Evaluate Reverse Polish Notation #150
- Min Stack #155
- Validate Binary Search Tree #98
- Number of Islands #200
- Merge Two Sorted Lists #21
- Convert Binary Number in a Linked List to Integer #1290
- Linked List Cycle #141
- Reverse Linked List #206
- Middle of the Linked List #876
- LRU Cache #146
- Merge k Sorted Lists #23
- Two Sum #1
- Valid Parentheses #20
- Valid Anagram #242
- Linked List Cycle #141
- Ransom Note #383
- Climbing Stairs #70
- Longest Palindrome #409
- Majority Element #169
- Contains Duplicate #217
- Longest Substring Without Repeating Characters #3
- 3Sum #15
- Clone Graph #133
- LRU Cache #146
- Implement Trie (Prefix Tree) #208
- Invert Binary Tree #226
- Lowest Common Ancestor of a Binary Search Tree #235
- Balanced Binary Tree #110
- Diameter of Binary Tree #543
- Maximum Depth of Binary Tree #104
- Binary Tree Level Order Traversal #102
- Validate Binary Search Tree #98
Within the problems above there are several patterns that often occur. I plan to categorize each problem such that if you are having problem with a particular pattern you can look for other similar problems that use the same pattern.
- Best Time to Buy and Sell Stock #121
- Valid Palindrome #125
- Linked List Cycle #141
- Reverse Linked List #206
- Middle of the Linked List #876
- Contains Duplicate #217
- 3Sum #15
- Meeting Rooms II
- Trapping Rain Water #42
- Invert Binary Tree #226
- Flood Fill #733
- Maximum Depth of Binary Tree #104
- 01 Matrix #542
- Binary Tree Level Order Traversal #102
- Clone Graph #133
- Number of Provinces #547
- Course Schedule #207
- Coin Change #322
- Number of Islands #200
- Rotting Oranges #994
- Invert Binary Tree #226
- Flood Fill #733
- Lowest Common Ancestor of a Binary Search Tree #235
- Balanced Binary Tree #110
- Diameter of Binary Tree #543
- Maximum Depth of Binary Tree #104
- Clone Graph #133
- Number of Provinces #547
- Course Schedule #207
- Validate Binary Search Tree #98
- Number of Islands #200
- Combination Sum #39
- The original Grind 75 list can be found here