LeetCode 200: Interview Mastery Path
By Engineering Digest
  1. Arrays & Strings
Easy
  ●   #1 – Two Sum
  ●   #121 – Best Time to Buy and Sell Stock
  ●   #217 – Contains Duplicate
  ●   #242 – Valid Anagram
  ●   #125 – Valid Palindrome
  ●   #344 – Reverse String
  ●   #14 – Longest Common Prefix
  ●   #53 – Maximum Subarray
Medium
  ●   #8 – String to Integer (atoi)
  ●   #3 – Longest Substring Without Repeating Characters
  ●   #49 – Group Anagrams
  ●   #11 – Container With Most Water
  ●   #15 – 3Sum
  ●   #33 – Search in Rotated Sorted Array
  ●   #153 – Find Minimum in Rotated Sorted Array
  ●   #238 – Product of Array Except Self
  ●   #739 – Daily Temperatures
  ●   #5 – Longest Palindromic Substring
  ●   #56 – Merge Intervals
Hard
  ●   #76 – Minimum Window Substring
  ●   #57 – Insert Interval
  ●   #42 – Trapping Rain Water
  ●   #224 – Basic Calculator
  2. Binary Search & Sorting
Easy
  ● #278 – First Bad Version
  ● #35 – Search Insert Position
Medium
  ● #34 – Find First and Last Position of Element in Sorted Array
  ● #162 – Find Peak Element
Hard
  ● #4 – Median of Two Sorted Arrays
  3. Two Pointers & Sliding Window
Easy
  ● #26 – Remove Duplicates from Sorted Array
  ● #283 – Move Zeroes
  ● #977 – Squared Sorted Array
Medium
  ●   #16 – 3Sum Closest
  ●   #18 – 4Sum
  ●   #438 – Find All Anagrams in a String
  ●   #567 – Permutation in String
  ●   #424 – Longest Repeating Character Replacement
  ●   #209 – Minimum Size Subarray Sum
  ●   #1004 – Max Consecutive Ones III
  ●   #75 – Sort Colors
Hard
  ● #239 – Sliding Window Maximum
  ● #992 – Subarrays with K Different Integers
  4. Stacks & Queues
Easy
  ● #20 – Valid Parentheses
  ● #155 – Min Stack
  ● #232 – Implement Queue using Stacks
Medium
  ● #150 – Evaluate Reverse Polish Notation
  5. Linked Lists
Easy
  ●   #21 – Merge Two Sorted Lists
  ●   #141 – Linked List Cycle
  ●   #83 – Remove Duplicates from Sorted List
  ●   #234 – Palindrome Linked List
  ●   #876 – Middle of the Linked List
  ●   #160 – Intersection of Two Linked Lists
  ●   #206 – Reverse Linked List
Medium
  ●   #2 – Add Two Numbers
  ●   #19 – Remove Nth Node From End of List
  ●   #24 – Swap Nodes in Pairs
  ●   #61 – Rotate List
  ●   #82 – Remove Duplicates from Sorted List II
  ●   #86 – Partition List
  ●   #138 – Copy List with Random Pointer
  ●   #142 – Linked List Cycle II
  ●   #143 – Reorder List
  ●   #148 – Sort List
Hard
  ● #25 – Reverse Nodes in k-Group
  ● #23 – Merge k Sorted Lists
  6. Trees (Binary Trees & BSTs)
Easy
  ●   #100 – Same Tree
  ●   #101 – Symmetric Tree
  ●   #104 – Maximum Depth of Binary Tree
  ●   #112 – Path Sum
  ●   #226 – Invert Binary Tree
  ●   #572 – Subtree of Another Tree
Medium
  ●   #98 – Validate Binary Search Tree
  ●   #102 – Binary Tree Level Order Traversal
  ●   #103 – Binary Tree Zigzag Level Order Traversal
  ●   #105 – Construct Binary Tree from Preorder and Inorder Traversal
  ●   #113 – Path Sum II
  ●   #114 – Flatten Binary Tree to Linked List
  ●   #129 – Sum Root to Leaf Numbers
  ●   #199 – Binary Tree Right Side View
  ●   #230 – Kth Smallest Element in a BST
  ●   #235 – Lowest Common Ancestor of a Binary Tree
  ●   #337 – House Robber III
  ●   #437 – Path Sum III
  ●   #538 – Convert BST to Greater Tree
  ●   #863 – All Nodes Distance K in Binary Tree
  ●   #987 – Vertical Order Traversal of a Binary Tree
  ●   #662 – Maximum Width of Binary Tree
  ●   #1145 – Binary Tree Coloring Game
Hard
  ●   #99 – Recover Binary Search Tree
  ●   #124 – Binary Tree Maximum Path Sum
  ●   #297 – Serialize and Deserialize Binary Tree
  ●   #968 – Binary Tree Cameras
  7. Graphs
Easy
  ● #323 – Number of Connected Components in an Undirected Graph
  ● #997 – Find the Town Judge
Medium
  ● #200 – Number of Islands
  ● #130 – Surrounded Regions
  ●   #133 – Clone Graph
  ●   #207 – Course Schedule
  ●   #210 – Course Schedule II
  ●   #261 – Graph Valid Tree
  ●   #399 – Evaluate Division
  ●   #417 – Pacific Atlantic Water Flow
  ●   #743 – Network Delay Time
  ●   #785 – Is Graph Bipartite?
  ●   #841 – Keys and Rooms
  ●   #886 – Possible Bipartition
  ●   #994 – Rotting Oranges
  ●   #787 – Cheapest Flights Within K Stops
  ●   #684 – Redundant Connection
  ●   #947 – Most Stones Removed with Same Row or Column
Hard
  ●   #127 – Word Ladder
  ●   #269 – Alien Dictionary
  ●   #212 – Word Search II
  ●   #1192 – Critical Connections in a Network
  ●   #721 – Accounts Merge
  8. Heaps & Priority Queues
Medium
  ● #347 – Top K Frequent Elements
  ● #378 – Kth Smallest Element in a Sorted Matrix
  ● #973 – K Closest Points to Origin
Hard
  ● #295 – Find Median from Data Stream
  9. Greedy
Medium
  ●   #134 – Gas Station
  ●   #45 – Jump Game II
  ●   #406 – Queue Reconstruction by Height
  ●   #452 – Minimum Number of Arrows to Burst Balloons
  ●   #621 – Task Scheduler
Hard
  ● #135 – Candy
  10. Dynamic Programming
Easy
  ● #70 – Climbing Stairs
Medium
  ●   #91 – Decode Ways
  ●   #62 – Unique Paths
  ●   #55 – Jump Game
  ●   #152 – Maximum Product Subarray
  ●   #198 – House Robber
  ●   #213 – House Robber II
  ●   #300 – Longest Increasing Subsequence
  ●   #139 – Word Break
  ●   #377 – Combination Sum IV
  ●   #322 – Coin Change
  ●   #647 – Palindromic Substrings
  ●   #516 – Longest Palindromic Subsequence
  ●   #64 – Minimum Path Sum
  ●   #740 – Delete and Earn
  ●   #718 – Maximum Length of Repeated Subarray
  ●   #309 – Best Time to Buy and Sell Stock with Cooldown
  ●   #494 – Target Sum
  ●   #416 – Partition Equal Subset Sum
  ●   #279 – Perfect Squares
  ●   #1143 – Longest Common Subsequence
  ●   #1048 – Longest String Chain
  ●   #877 – Stone Game
  ●   #97 – Interleaving String
Hard
  ●   #72 – Edit Distance
  ●   #10 – Regular Expression Matching
  ●   #44 – Wildcard Matching
  ●   #312 – Burst Balloons
  ●   #85 – Maximal Rectangle
  ●   #115 – Distinct Subsequences
  ●   #87 – Scramble String
  ●   #730 – Count Different Palindromic Subsequences
  ● #1000 – Minimum Cost to Merge Stones
  ● #920 – Number of Music Playlists
  ● #689 – Maximum Sum of 3 Non-Overlapping Subarrays
  11. Backtracking
Medium
  ●   #17 – Letter Combinations of a Phone Number
  ●   #39 – Combination Sum
  ●   #40 – Combination Sum II
  ●   #46 – Permutations
  ●   #47 – Permutations II
  ●   #78 – Subsets
  ●   #90 – Subsets II
  ●   #77 – Combinations
  ●   #131 – Palindrome Partitioning
  ●   #93 – Restore IP Addresses
  ●   #526 – Beautiful Arrangement
  ●   #95 – Unique Binary Search Trees II
Hard
  ●   #51 – N-Queens
  ●   #37 – Sudoku Solver
  ●   #301 – Remove Invalid Parentheses
  ●   #282 – Expression Add Operators
  ●   #140 – Word Break II
  ●   #79 – Word Search
  12. System Design
Easy
  ● #706 – Design HashMap
  ● #1603 – Design Parking System
  ● #346 – Moving Average from Data Stream
Medium
  ●   #146 – LRU Cache
  ●   #380 – Insert Delete GetRandom O(1)
  ●   #208 – Implement Trie (Prefix Tree)
  ●   #211 – Design Add and Search Words Data Structure
  ●   #359 – Logger Rate Limiter
  ●   #244 – Shortest Word Distance II
  ●   #729 – My Calendar I
  ●   #528 – Random Pick with Weight
  ●   #1472 – Design Browser History
  ●   #1396 – Design Underground System
  ●   #622 – Design Circular Queue
  ●   #641 – Design Circular Deque
  ●   #362 – Design Hit Counter
Hard
  ●   #355 – Design Twitter
  ●   #642 – Design Search Autocomplete System
  ●   #895 – Maximum Frequency Stack
  ●   #1032 – Stream of Characters
  ●   #588 – Design In-Memory File System
  ●   #353 – Design Snake Game
  ●   #432 – All O’one Data Structure
  ●   #1188 – Design File System