| 0002 | Add Two Numbers | Recursion, Linked List, Math |
| 0003 | Longest Substring Without Repeating Characters | Hash Table, String, Sliding Window |
| 0005 | Longest Palindromic Substring | Two Pointers, String, Dynamic Programming |
| 0006 | Zigzag Conversion | String |
| 0007 | Reverse Integer | Math |
| 0008 | String to Integer (atoi) | String |
| 0011 | Container With Most Water | Greedy, Array, Two Pointers |
| 0012 | Integer to Roman | Hash Table, Math, String |
| 0015 | 3Sum | Array, Two Pointers, Sorting |
| 0016 | 3Sum Closest | Array, Two Pointers, Sorting |
| 0017 | Letter Combinations of a Phone Number | Hash Table, String, Backtracking |
| 0018 | 4Sum | Array, Two Pointers, Sorting |
| 0019 | Remove Nth Node From End of List | Linked List, Two Pointers |
| 0022 | Generate Parentheses | String, Dynamic Programming, Backtracking |
| 0024 | Swap Nodes in Pairs | Recursion, Linked List |
| 0029 | Divide Two Integers | Bit Manipulation, Math |
| 0031 | Next Permutation | Array, Two Pointers |
| 0033 | Search in Rotated Sorted Array | Array, Binary Search |
| 0034 | Find First and Last Position of Element in Sorted Array | Array, Binary Search |
| 0036 | Valid Sudoku | Array, Hash Table, Matrix |
| 0038 | Count and Say | String |
| 0039 | Combination Sum | Array, Backtracking |
| 0040 | Combination Sum II | Array, Backtracking |
| 0043 | Multiply Strings | Math, String, Simulation |
| 0045 | Jump Game II | Greedy, Array, Dynamic Programming |
| 0046 | Permutations | Array, Backtracking |
| 0047 | Permutations II | Array, Backtracking, Sorting |
| 0048 | Rotate Image | Array, Math, Matrix |
| 0049 | Group Anagrams | Array, Hash Table, String +1 |
| 0050 | Pow(x, n) | Recursion, Math |
| 0053 | Maximum Subarray | Array, Divide and Conquer, Dynamic Programming |
| 0054 | Spiral Matrix | Array, Matrix, Simulation |
| 0055 | Jump Game | Greedy, Array, Dynamic Programming |
| 0056 | Merge Intervals | Array, Sorting |
| 0057 | Insert Interval | Array |
| 0059 | Spiral Matrix II | Array, Matrix, Simulation |
| 0061 | Rotate List | Linked List, Two Pointers |
| 0062 | Unique Paths | Math, Dynamic Programming, Combinatorics |
| 0063 | Unique Paths II | Array, Dynamic Programming, Matrix |
| 0064 | Minimum Path Sum | Array, Dynamic Programming, Matrix |
| 0071 | Simplify Path | Stack, String |
| 0072 | Edit Distance | String, Dynamic Programming |
| 0073 | Set Matrix Zeroes | Array, Hash Table, Matrix |
| 0074 | Search a 2D Matrix | Array, Binary Search, Matrix |
| 0075 | Sort Colors | Array, Two Pointers, Sorting |
| 0077 | Combinations | Backtracking |
| 0078 | Subsets | Bit Manipulation, Array, Backtracking |
| 0079 | Word Search | Depth-First Search, Array, String +2 |
| 0080 | Remove Duplicates from Sorted Array II | Array, Two Pointers |
| 0081 | Search in Rotated Sorted Array II | Array, Binary Search |
| 0082 | Remove Duplicates from Sorted List II | Linked List, Two Pointers |
| 0086 | Partition List | Linked List, Two Pointers |
| 0089 | Gray Code | Bit Manipulation, Math, Backtracking |
| 0090 | Subsets II | Bit Manipulation, Array, Backtracking |
| 0091 | Decode Ways | String, Dynamic Programming |
| 0092 | Reverse Linked List II | Linked List |
| 0093 | Restore IP Addresses | String, Backtracking |
| 0095 | Unique Binary Search Trees II | Tree, Binary Search Tree, Dynamic Programming +2 |
| 0096 | Unique Binary Search Trees | Tree, Binary Search Tree, Math +2 |
| 0097 | Interleaving String | String, Dynamic Programming |
| 0098 | Validate Binary Search Tree | Tree, Depth-First Search, Binary Search Tree +1 |
| 0099 | Recover Binary Search Tree | Tree, Depth-First Search, Binary Search Tree +1 |
| 0102 | Binary Tree Level Order Traversal | Tree, Breadth-First Search, Binary Tree |
| 0103 | Binary Tree Zigzag Level Order Traversal | Tree, Breadth-First Search, Binary Tree |
| 0105 | Construct Binary Tree from Preorder and Inorder Traversal | Tree, Array, Hash Table +2 |
| 0106 | Construct Binary Tree from Inorder and Postorder Traversal | Tree, Array, Hash Table +2 |
| 0107 | Binary Tree Level Order Traversal II | Tree, Breadth-First Search, Binary Tree |
| 0109 | Convert Sorted List to Binary Search Tree | Tree, Binary Search Tree, Linked List +2 |
| 0113 | Path Sum II | Tree, Depth-First Search, Backtracking +1 |
| 0114 | Flatten Binary Tree to Linked List | Stack, Tree, Depth-First Search +2 |
| 0116 | Populating Next Right Pointers in Each Node | Tree, Depth-First Search, Breadth-First Search +2 |
| 0117 | Populating Next Right Pointers in Each Node II | Tree, Depth-First Search, Breadth-First Search +2 |
| 0120 | Triangle | Array, Dynamic Programming |
| 0122 | Best Time to Buy and Sell Stock II | Greedy, Array, Dynamic Programming |
| 0128 | Longest Consecutive Sequence | Union Find, Array, Hash Table |
| 0129 | Sum Root to Leaf Numbers | Tree, Depth-First Search, Binary Tree |
| 0130 | Surrounded Regions | Depth-First Search, Breadth-First Search, Union Find +2 |
| 0131 | Palindrome Partitioning | String, Dynamic Programming, Backtracking |
| 0133 | Clone Graph | Depth-First Search, Breadth-First Search, Graph +1 |
| 0134 | Gas Station | Greedy, Array |
| 0137 | Single Number II | Bit Manipulation, Array |
| 0138 | Copy List with Random Pointer | Hash Table, Linked List |
| 0139 | Word Break | Trie, Memoization, Array +3 |
| 0142 | Linked List Cycle II | Hash Table, Linked List, Two Pointers |
| 0143 | Reorder List | Stack, Recursion, Linked List +1 |
| 0146 | LRU Cache | Design, Hash Table, Linked List +1 |
| 0147 | Insertion Sort List | Linked List, Sorting |
| 0148 | Sort List | Linked List, Two Pointers, Divide and Conquer +2 |
| 0150 | Evaluate Reverse Polish Notation | Stack, Array, Math |
| 0151 | Reverse Words in a String | Two Pointers, String |
| 0152 | Maximum Product Subarray | Array, Dynamic Programming |
| 0153 | Find Minimum in Rotated Sorted Array | Array, Binary Search |
| 0155 | Min Stack | Stack, Design |
| 0162 | Find Peak Element | Array, Binary Search |
| 0164 | Maximum Gap | Array, Bucket Sort, Radix Sort +1 |
| 0165 | Compare Version Numbers | Two Pointers, String |
| 0166 | Fraction to Recurring Decimal | Hash Table, Math, String |
| 0167 | Two Sum II - Input Array Is Sorted | Array, Two Pointers, Binary Search |
| 0172 | Factorial Trailing Zeroes | Math |
| 0173 | Binary Search Tree Iterator | Stack, Tree, Design +3 |
| 0176 | Second Highest Salary | Database |
| 0177 | Nth Highest Salary | Database |
| 0178 | Rank Scores | Database |
| 0179 | Largest Number | Greedy, Array, String +1 |
| 0180 | Consecutive Numbers | Database |
| 0184 | Department Highest Salary | Database |
| 0187 | Repeated DNA Sequences | Bit Manipulation, Hash Table, String +3 |
| 0189 | Rotate Array | Array, Math, Two Pointers |
| 0192 | Word Frequency | Shell |
| 0194 | Transpose File | Shell |
| 0198 | House Robber | Array, Dynamic Programming |
| 0199 | Binary Tree Right Side View | Tree, Depth-First Search, Breadth-First Search +1 |
| 0200 | Number of Islands | Depth-First Search, Breadth-First Search, Union Find +2 |
| 0201 | Bitwise AND of Numbers Range | Bit Manipulation |
| 0204 | Count Primes | Array, Math, Enumeration +1 |
| 0207 | Course Schedule | Depth-First Search, Breadth-First Search, Graph +1 |
| 0208 | Implement Trie (Prefix Tree) | Design, Trie, Hash Table +1 |
| 0209 | Minimum Size Subarray Sum | Array, Binary Search, Prefix Sum +1 |
| 0210 | Course Schedule II | Depth-First Search, Breadth-First Search, Graph +1 |
| 0211 | Design Add and Search Words Data Structure | Depth-First Search, Design, Trie +1 |
| 0213 | House Robber II | Array, Dynamic Programming |
| 0215 | Kth Largest Element in an Array | Array, Divide and Conquer, Quickselect +2 |
| 0216 | Combination Sum III | Array, Backtracking |
| 0221 | Maximal Square | Array, Dynamic Programming, Matrix |
| 0223 | Rectangle Area | Geometry, Math |
| 0227 | Basic Calculator II | Stack, Math, String |
| 0229 | Majority Element II | Array, Hash Table, Counting +1 |
| 0230 | Kth Smallest Element in a BST | Tree, Depth-First Search, Binary Search Tree +1 |
| 0235 | Lowest Common Ancestor of a Binary Search Tree | Tree, Depth-First Search, Binary Search Tree +1 |
| 0236 | Lowest Common Ancestor of a Binary Tree | Tree, Depth-First Search, Binary Tree |
| 0237 | Delete Node in a Linked List | Linked List |
| 0238 | Product of Array Except Self | Array, Prefix Sum |
| 0240 | Search a 2D Matrix II | Array, Binary Search, Divide and Conquer +1 |
| 0241 | Different Ways to Add Parentheses | Recursion, Memoization, Math +2 |
| 0260 | Single Number III | Bit Manipulation, Array |
| 0264 | Ugly Number II | Hash Table, Math, Dynamic Programming +1 |
| 0274 | H-Index | Array, Counting Sort, Sorting |
| 0275 | H-Index II | Array, Binary Search |
| 0279 | Perfect Squares | Breadth-First Search, Math, Dynamic Programming |
| 0284 | Peeking Iterator | Design, Array, Iterator |
| 0287 | Find the Duplicate Number | Bit Manipulation, Array, Two Pointers +1 |
| 0289 | Game of Life | Array, Matrix, Simulation |
| 0299 | Bulls and Cows | Hash Table, String, Counting |
| 0300 | Longest Increasing Subsequence | Array, Binary Search, Dynamic Programming |
| 0304 | Range Sum Query 2D - Immutable | Design, Array, Matrix +1 |
| 0306 | Additive Number | String, Backtracking |
| 0307 | Range Sum Query - Mutable | Design, Binary Indexed Tree, Segment Tree +2 |
| 0309 | Best Time to Buy and Sell Stock with Cooldown | Array, Dynamic Programming |
| 0310 | Minimum Height Trees | Depth-First Search, Breadth-First Search, Graph +1 |
| 0313 | Super Ugly Number | Array, Math, Dynamic Programming |
| 0316 | Remove Duplicate Letters | Stack, Greedy, String +1 |
| 0318 | Maximum Product of Word Lengths | Bit Manipulation, Array, String |
| 0319 | Bulb Switcher | Brainteaser, Math |
| 0322 | Coin Change | Breadth-First Search, Array, Dynamic Programming |
| 0324 | Wiggle Sort II | Greedy, Array, Divide and Conquer +2 |
| 0328 | Odd Even Linked List | Linked List |
| 0331 | Verify Preorder Serialization of a Binary Tree | Stack, Tree, String +1 |
| 0334 | Increasing Triplet Subsequence | Greedy, Array |
| 0337 | House Robber III | Tree, Depth-First Search, Dynamic Programming +1 |
| 0341 | Flatten Nested List Iterator | Stack, Tree, Depth-First Search +3 |
| 0343 | Integer Break | Math, Dynamic Programming |
| 0347 | Top K Frequent Elements | Array, Hash Table, Divide and Conquer +5 |
| 0355 | Design Twitter | Design, Hash Table, Linked List +1 |
| 0357 | Count Numbers with Unique Digits | Math, Dynamic Programming, Backtracking |
| 0365 | Water and Jug Problem | Depth-First Search, Breadth-First Search, Math |
| 0368 | Largest Divisible Subset | Array, Math, Dynamic Programming +1 |
| 0371 | Sum of Two Integers | Bit Manipulation, Math |
| 0372 | Super Pow | Math, Divide and Conquer |
| 0373 | Find K Pairs with Smallest Sums | Array, Heap (Priority Queue) |
| 0375 | Guess Number Higher or Lower II | Math, Dynamic Programming, Game Theory |
| 0376 | Wiggle Subsequence | Greedy, Array, Dynamic Programming |
| 0377 | Combination Sum IV | Array, Dynamic Programming |
| 0378 | Kth Smallest Element in a Sorted Matrix | Array, Binary Search, Matrix +2 |
| 0380 | Insert Delete GetRandom O(1) | Design, Array, Hash Table +2 |
| 0382 | Linked List Random Node | Reservoir Sampling, Linked List, Math +1 |
| 0384 | Shuffle an Array | Design, Array, Math +1 |
| 0385 | Mini Parser | Stack, Depth-First Search, String |
| 0386 | Lexicographical Numbers | Depth-First Search, Trie |
| 0388 | Longest Absolute File Path | Stack, Depth-First Search, String |
| 0390 | Elimination Game | Recursion, Math |
| 0393 | UTF-8 Validation | Bit Manipulation, Array |
| 0394 | Decode String | Stack, Recursion, String |
| 0395 | Longest Substring with At Least K Repeating Characters | Hash Table, String, Divide and Conquer +1 |
| 0396 | Rotate Function | Array, Math, Dynamic Programming |
| 0397 | Integer Replacement | Greedy, Bit Manipulation, Memoization +1 |
| 0398 | Random Pick Index | Reservoir Sampling, Hash Table, Math +1 |
| 0399 | Evaluate Division | Depth-First Search, Breadth-First Search, Union Find +4 |
| 0400 | Nth Digit | Math, Binary Search |
| 0402 | Remove K Digits | Stack, Greedy, String +1 |
| 0406 | Queue Reconstruction by Height | Binary Indexed Tree, Segment Tree, Array +1 |
| 0413 | Arithmetic Slices | Array, Dynamic Programming, Sliding Window |
| 0416 | Partition Equal Subset Sum | Array, Dynamic Programming |
| 0417 | Pacific Atlantic Water Flow | Depth-First Search, Breadth-First Search, Array +1 |
| 0419 | Battleships in a Board | Depth-First Search, Array, Matrix |
| 0421 | Maximum XOR of Two Numbers in an Array | Bit Manipulation, Trie, Array +1 |
| 0423 | Reconstruct Original Digits from English | Hash Table, Math, String |
| 0424 | Longest Repeating Character Replacement | Hash Table, String, Sliding Window |
| 0427 | Construct Quad Tree | Tree, Array, Divide and Conquer +1 |
| 0429 | N-ary Tree Level Order Traversal | Tree, Breadth-First Search |
| 0430 | Flatten a Multilevel Doubly Linked List | Depth-First Search, Linked List, Doubly-Linked List |