| 1 | Two Sum | Easy | hash table |
| 2 | Add Two Numbers | Medium | linked list |
| 3 | Longest Substring Without Repeating Characters | Medium | hash table |
| 4 | Median of Two Sorted Arrays | Hard | binary search |
| 5 | Longest Palindromic Substring | Medium | string |
| 8 | String to Integer (atoi) | Easy | string |
| 11 | Container With Most Water | Medium | greedy |
| 15 | 3 Sum | Medium | two pointers |
| 17 | Letter Combinations of a Phone Number | Medium | backtracking |
| 19 | Remove Nth Node From End of List | Medium | two pointers |
| 20 | Valid Parentheses | Easy | stack |
| 21 | Merge Two Sorted Lists | Easy | linked list |
| 22 | Generate Parentheses | Medium | backtracking |
| 23 | Merge k Sorted Lists | Hard | linked list |
| 33 | Search in Rotated Sorted Array | Medium | binary search |
| 34 | Find First and Last Position of Element in Sorted Array | Medium | binary search |
| 36 | Valid Sudoku | Easy | hash table |
| 37 | Sudoku Solver | Hard | backtracking |
| 39 | Combination Sum | Medium | backtracking |
| 40 | Combination Sum II | Medium | backtracking |
| 42 | Trapping Rain Water | Hard | greedy |
| 45 | Jump Game II | Hard | greedy |
| 46 | Permutations | Medium | backtracking |
| 48 | Rotate Image | Medium | array |
| 49 | Group Anagrams | Medium | hash table |
| 51 | N-Queens | Hard | backtracking |
| 53 | Maximum Subarray | Easy | dynamic programming |
| 55 | Jump Game | Medium | greedy |
| 56 | Merge Intervals | Hard | sort |
| 62 | Unique Paths | Medium | dynamic programming |
| 63 | Unique Paths II | Medium | dynamic programming |
| 67 | Add Binary | Easy | string |
| 69 | Sqrt(x) | Medium | binary search |
| 70 | Climbing Stairs | Easy | dynamic programming |
| 71 | Simplify Path | Medium | stack |
| 72 | Edit Distance | Hard | dynamic programming |
| 73 | Set Matrix Zeroes | Medium | array |
| 74 | Search a 2D Matrix | Medium | binary search |
| 75 | Sort Colors | Medium | sort |
| 76 | Minimum Window Substring | Hard | hash table |
| 77 | Combinations | Medium | backtracking |
| 78 | Subsets | Medium | backtracking |
| 79 | Word Search | Medium | backtracking |
| 82 | Remove Duplicates from Sorted List II | Medium | linked list |
| 84 | Largest Rectangle in Histogram | Hard | stack |
| 85 | Maximal Rectangle | Hard | stack |
| 86 | Partition List | Medium | two pointers |
| 89 | Gray Code | Medium | math |
| 90 | Subsets II | Medium | backtracking |
| 91 | Decode Ways | Medium | dynamic programming |
| 92 | Reverse Linked List II | Medium | linked list |
| 93 | Restore IP Addresses | Medium | backtracking |
| 94 | Binary Tree Inorder Traversal | Medium | tree |
| 95 | Unique Binary Search Trees II | Medium | recursion |
| 96 | Unique Binary Search Trees | Medium | dynamic programming |
| 97 | Interleaving String | Hard | dynamic programming |
| 98 | Validate Binary Search Tree | Medium | recursion |
| 99 | Recover Binary Search Tree | Hard | tree |
| 100 | Same Tree | Easy | recursion |
| 101 | Symmetric Tree | Easy | stack |
| 102 | Binary Tree Level Order Traversal | Easy | breadth first search |
| 103 | Binary Tree Zigzag Level Order Traversal | Medium | breadth first search |
| 104 | Maximum Depth of Binary Tree | Easy | recursion |
| 105 | Construct Binary Tree from Preorder and Inorder Traversal | Medium | recursion |
| 106 | Construct Binary Tree from Inorder and Postorder Traversal | Medium | recursion |
| 107 | Binary Tree Level Order Traversal II | Easy | breadth first search |
| 108 | Convert Sorted Array to Binary Search Tree | Medium | recursion |
| 109 | Convert Sorted List to Binary Search Tree | Medium | recursion |
| 110 | Balanced Binary Tree | Easy | recursion |
| 111 | Minimum Depth of Binary Tree | Easy | recursion |
| 112 | Path Sum | Easy | depth first search |
| 113 | Path Sum II | Medium | depth first search |
| 114 | Flatten Binary Tree to Linked List | Medium | recursion |
| 115 | Distinct Subsequences | Hard | dynamic programming |
| 116 | Populating Next Right Pointers in Each Node | Medium | recursion |
| 117 | Populating Next Right Pointers in Each Node II | Hard | breadth first search |
| 118 | Pascal's Triangle | Easy | array |
| 119 | Pascal's Triangle II | Easy | array |
| 120 | Triangle | Medium | dynamic programming |
| 121 | Best Time to Buy and Sell Stock | Easy | array |
| 122 | Best Time to Buy and Sell Stock II | Easy | greedy |
| 123 | Best Time to Buy and Sell Stock III | Hard | dynamic programming |
| 124 | Binary Tree Maximum Path Sum | Hard | recursion |
| 125 | Valid Palindrome | Easy | string |
| 126 | Word Ladder II | Hard | backtracking |
| 127 | Word Ladder | Medium | breadth first search |
| 128 | Longest Consecutive Sequence | Hard | array |
| 129 | Sum Root to Leaf Numbers | Medium | recursion |
| 130 | Surrounded Regions | Medium | breadth first search |
| 131 | Palindrome Partitioning | Medium | backtracking |
| 132 | Palindrome Partitioning II | Hard | dynamic programming |
| 133 | Clone Graph | Medium | breadth first search |
| 134 | Gas Station | Medium | greedy |
| 135 | Candy | Hard | greedy |
| 136 | Single Number | Easy | bit manipulation |
| 137 | Single Number II | Medium | bit manipulation |
| 138 | Copy List with Random Pointer | Medium | linked list |
| 139 | Word Break | Medium | dynamic programming |
| 140 | Word Break II | Hard | backtracking |
| 141 | Linked List Cycle | Easy | two pointers |
| 142 | Linked List Cycle II | Medium | two pointers |
| 143 | Reorder List | Medium | two pointers |
| 144 | Binary Tree Preorder Traversal | Medium | tree |
| 145 | Binary Tree Postorder Traversal | Hard | tree |
| 146 | LRU Cache | Hard | design |
| 147 | Insertion Sort List | Medium | sort |
| 148 | Sort List | Medium | sort |
| 150 | Evaluate Reverse Polish Notation | Medium | stack |
| 151 | Reverse Words in a String | Medium | string |
| 152 | Maximum Product Subarray | Medium | dynamic programming |
| 153 | Find Minimum in Rotated Sorted Array | Medium | binary search |
| 155 | Min Stack | Easy | stack |
| 160 | Intersection of Two Linked Lists | Easy | linked list |
| 162 | Find Peak Element | Medium | binary search |
| 164 | Maximum Gap | Hard | sort |
| 165 | Compare Version Numbers | Easy | string |
| 166 | Fraction to Recurring Decimal | Medium | math |
| 167 | Two Sum II - Input array is sorted | Medium | two pointers |
| 169 | Majority Element | Easy | array |
| 179 | Largest Number | Medium | sort |
| 188 | Best Time to Buy and Sell Stock IV | Hard | dynamic programming |
| 189 | Rotate Array | Easy | array |
| 191 | Number of 1 Bits | Easy | bit manipulation |
| 198 | House Robber | Easy | dynamic programming |
| 199 | Binary Tree Right Side View | Medium | depth first search |
| 200 | Number of Islands | Medium | depth first search |
| 201 | Bitwise AND of Numbers Range | Medium | bit manipulation |
| 202 | Happy Number | Easy | hash table |
| 203 | Remove Linked List Elements | Easy | linked list |
| 204 | Count Primes | Easy | hash table |
| 205 | Isomorphic Strings | Easy | hash table |
| 206 | Reverse Linked List | Easy | linked list |
| 207 | Course Schedule | Medium | breadth first search |
| 208 | Implement Trie (Prefix Tree) | Medium | tree |
| 209 | Minimum Size Subarray Sum | Medium | two pointers |
| 210 | Course Schedule II | Medium | breadth first search |
| 215 | Kth Largest Element in an Array | Medium | array |
| 216 | Combination Sum III | Medium | backtracking |
| 217 | Contains Duplicate | Easy | hash table |
| 219 | Contains Duplicate II | Easy | hash table |
| 220 | Contains Duplicate III | Medium | binary search tree |
| 221 | Maximal Square | Medium | dynamic programming |
| 222 | Count Complete Tree Nodes | Medium | binary search |
| 223 | Rectangle Area | Easy | math |
| 227 | Basic Calculator II | Medium | stack |
| 229 | Majority Element II | Medium | array |
| 230 | Kth Smallest Element in a BST | Medium | binary search tree |
| 231 | Power of Two | Easy | bit manipulation |
| 232 | Implement Queue using Stacks | Easy | stack |
| 233 | Number of Digit One | Hard | math |
| 234 | Palindrome Linked List | Easy | linked list |
| 235 | Lowest Common Ancestor of a Binary Search Tree | Easy | binary search tree |
| 236 | Lowest Common Ancestor of a Binary Tree | Medium | depth first search |
| 237 | Delete Node in a Linked List | Easy | linked list |
| 238 | Product of Array Except Self | Medium | array |
| 239 | Sliding Window Maximum | Hard | queue |
| 240 | Search a 2D Matrix II | Medium | array |
| 241 | Different Ways to Add Parentheses | Medium | recursion |
| 242 | Valid Anagram | Easy | string |
| 257 | Binary Tree Paths | Easy | depth first search |
| 260 | Single Number III | Medium | bit manipulation |
| 264 | Ugly Number II | Medium | binary heap |
| 268 | Missing Number | Medium | bit manipulation |
| 287 | Find the Duplicate Number | Hard | two pointers |
| 299 | Bulls and Cows | Easy | hash table |
| 300 | Longest Increasing Subsequence | Medium | binary search |
| 304 | Range Sum Query 2D - Immutable | Medium | dynamic programming |
| 322 | Coin Change | Medium | dynamic programming |
| 328 | Odd Even Linked List | Medium | linked list |
| 329 | Longest Increasing Path in a Matrix | Hard | depth first search |
| 334 | Increasing Triplet Subsequence | Medium | array |
| 337 | House Robber III | Medium | recursion |
| 338 | Counting Bits | Medium | math |
| 340 | Longest Substring with At Most K Distinct Characters | Hard | hash table |
| 343 | Integer Break | Medium | math |
| 344 | Reverse String | Easy | two pointers |
| 346 | Moving Average from Data Stream | Easy | queue |
| 347 | Top K Frequent Elements | Medium | sort |
| 349 | Intersection of Two Arrays | Easy | two pointers |
| 350 | Intersection of Two Arrays II | Easy | two pointers |
| 353 | Design Snake Game | Medium | design |
| 355 | Design Twitter | Medium | design |
| 373 | Find K Pairs with Smallest Sums | Medium | binary heap |
| 378 | Kth Smallest Element in a Sorted Matrix | Medium | binary heap |
| 380 | Insert Delete GetRandom O(1) | Hard | design |
| 383 | Ransom Note | Easy | string |
| 384 | Shuffle an Array | Medium | array |
| 387 | First Unique Character in a String | Easy | hash table |
| 394 | Decode String | Medium | stack |
| 404 | Sum of Left Leaves | Easy | recursion |
| 417 | Pacific Atlantic Water Flow | Medium | depth first search |
| 424 | Longest Repeating Character Replacement | Medium | two pointers |
| 437 | Path Sum III | Easy | recursion |
| 438 | Find All Anagrams in a String | Easy | hash table |
| 442 | Find All Duplicates in an Array | Medium | array |
| 445 | Add Two Numbers II | Medium | linked list |
| 449 | Serialize and Deserialize BST | Medium | binary search tree |
| 450 | Delete Node in a BST | Medium | binary search tree |
| 451 | Sort Characters By Frequency | Medium | sort |
| 456 | 132 Pattern | Medium | stack |
| 459 | Repeated Substring Pattern | Easy | string |
| 529 | Minesweeper | Medium | tree |
| 535 | Encode and Decode TinyURL | Medium | design |
| 538 | Convert BST to Greater Tree | Easy | tree |
| 543 | Diameter of Binary Tree | Easy | tree |
| 547 | Friend Circles | Medium | depth first search |
| 560 | Subarray Sum Equals K | Medium | hash table |
| 561 | Array Partition I | Easy | hash table |
| 606 | Construct String from Binary Tree | Easy | tree |
| 609 | Find Duplicate File in System | Medium | hash table |
| 621 | Task Scheduler | Medium | greedy |
| 645 | Set Mismatch | Easy | bit manipulation |
| 646 | Maximum Length of Pair Chain | Medium | greedy |
| 647 | Palindromic Substrings | Medium | string |
| 653 | Two Sum IV - Input is a BST | Easy | tree |
| 658 | Find K Closest Elements | Medium | binary search |
| 661 | Image Smoother | Easy | array |
| 662 | Maximum Width of Binary Tree | Medium | tree |
| 663 | Equal Tree Partition | Medium | tree |
| 670 | Maximum Swap | Medium | array |
| 673 | Number of Longest Increasing Subsequence | Medium | dynamic programming |
| 682 | Baseball Game | Easy | stack |
| 688 | Knight Probability in Chessboard | Medium | dynamic programming |
| 690 | Employee Importance | Easy | depth first search |
| 746 | Min Cost Climbing Stairs | Easy | dynamic programming |
| 762 | Prime Number of Set Bits in Binary Representation | Easy | bit manipulation |
| 763 | Partition Labels | Medium | greedy |
| 787 | Cheapest Flights Within K Stops | Medium | breadth first search |
| 814 | Binary Tree Pruning | Medium | tree |
| 815 | Bus Routes | Medium | breadth first search |
| 819 | Most Common Word | Easy | string |
| 821 | Shortest Distance to a Character | Easy | array |
| 853 | Car Fleet | Medium | stack |
| 856 | Score of Parentheses | Medium | stack |
| 860 | Lemonade Change | Easy | array |
| 862 | Shortest Subarray with Sum at Least K | Hard | two pointers |
| 863 | All Nodes Distance K in Binary Tree | Medium | tree |
| 875 | Koko Eating Bananas | Medium | binary search |
| 890 | Find and Replace Pattern | Medium | string |
| 901 | Online Stock Span | Medium | stack |
| 905 | Sort Array By Parity | Easy | array |
| 907 | Sum of Subarray Minimums | Medium | math |
| 909 | Snakes and Ladders | Medium | array |
| 918 | Maximum Sum Circular Subarray | Medium | array |
| 923 | 3Sum With Multiplicity | Medium | array |
| 929 | Unique Email Addresses | Easy | string |
| 930 | Binary Subarrays With Sum | Medium | two pointers |
| 931 | Minimum Falling Path Sum | Medium | dynamic programming |
| 934 | Shortest Bridge | Medium | breadth first search |
| 939 | Minimum Area Rectangle | Medium | string |
| 953 | Verifying an Alien Dictionary | Easy | string |
| 957 | Prison Cells After N Days | Medium | hash table |
| 958 | Check Completeness of a Binary Tree | Medium | tree |
| 961 | N-Repeated Element in Size 2N Array | Easy | array |
| 983 | Minimum Cost For Tickets | Medium | dynamic programming |
| 1160 | Find Words That Can Be Formed by Characters | Easy | hash table |