Skip to content
Arrays & Hashing
- Two Sum
- Valid Anagram
- Group Anagrams
- Top K Frequent Elements
- Product of Array Except Self
- Encode and Decode Strings
- Valid Sudoku
- Longest Consecutive Sequence
Two Pointers
- Valid Palindrome
- 3Sum
- Container With Most Water
- Trapping Rain Water
Sliding Window
- Best Time to Buy and Sell Stock
- Longest Substring Without Repeating Characters
- Longest Repeating Character Replacement
- Minimum Window Substring
Stack
- Valid Parentheses
- Min Stack
- Evaluate Reverse Polish Notation
- Generate Parentheses
- Daily Temperatures
- Largest Rectangle in Histogram
Binary Search
- Binary Search
- Search a 2D Matrix
- Search in Rotated Sorted Array
- Find Minimum in Rotated Sorted Array
- Time Based Key-Value Store
- Median of Two Sorted Arrays
- Kth Smallest Element in a Sorted Matrix
Linked List
- Reverse Linked List
- Merge Two Sorted Lists
- Reorder List
- Remove Nth Node From End of List
- Linked List Cycle
- Merge k Sorted Lists
- Copy List with Random Pointer
- Add Two Numbers
- LRU Cache
- Reverse Nodes in k-Group
Trees
- Maximum Depth of Binary Tree
- Same Tree
- Invert Binary Tree
- Subtree of Another Tree
- Lowest Common Ancestor of BST
- Binary Tree Level Order Traversal
- Validate Binary Search Tree
- Kth Smallest Element in a BST
- Construct Binary Tree from Preorder and Inorder
- Binary Tree Maximum Path Sum
- Serialize and Deserialize Binary Tree
Tries
- Implement Trie (Prefix Tree)
- Word Search II
Backtracking
- Subsets
- Combination Sum
- Permutations
- Word Search
- Palindrome Partitioning
- N-Queens
Heap / Priority Queue
- Merge k Sorted Lists
- Top K Frequent Elements
- Find Median from Data Stream
Graphs
- Number of Islands
- Clone Graph
- Course Schedule
- Pacific Atlantic Water Flow
- Word Ladder
- Graph Valid Tree
- Number of Connected Components in an Undirected Graph
Dynamic Programming (1D)
- Climbing Stairs
- House Robber
- House Robber II
- Longest Palindromic Substring
- Palindromic Substrings
- Decode Ways
- Coin Change
- Maximum Product Subarray
- Word Break
- Longest Increasing Subsequence
- Partition Equal Subset Sum
Dynamic Programming (2D)
- Unique Paths
- Longest Common Subsequence
- Best Time to Buy and Sell Stock with Cooldown
- Coin Change 2
- Target Sum
- Interleaving String
- Longest Increasing Path in a Matrix
- Distinct Subsequences
- Edit Distance
- Burst Balloons
- Regular Expression Matching
- Wildcard Matching