| 1 | Two Sum | Array, Hash Table |
| 2 | Add Two Numbers | Linked List, Math, Recursion |
| 3 | Longest Substring Without Repeating Characters | Hash Table, String, Sliding Window |
| 4 | Median of Two Sorted Arrays | Array, Binary Search, Divide and Conquer |
| 5 | Longest Palindromic Substring | Two Pointers, String, Dynamic Programming |
| 6 | Zigzag Conversion | String |
| 7 | Reverse Integer | Math |
| 8 | String to Integer (atoi) | String |
| 9 | Palindrome Number | Math |
| 10 | Regular Expression Matching | String, Dynamic Programming, Recursion |
| 11 | Container With Most Water | Array, Two Pointers, Greedy |
| 12 | Integer to Roman | Hash Table, Math, String |
| 13 | Roman to Integer | Hash Table, Math, String |
| 14 | Longest Common Prefix | Array, String, Trie |
| 15 | 3Sum | Array, Two Pointers, Sorting |
| 16 | 3Sum Closest | Array, Two Pointers, Sorting |
| 17 | Letter Combinations of a Phone Number | Hash Table, String, Backtracking |
| 18 | 4Sum | Array, Two Pointers, Sorting |
| 19 | Remove Nth Node From End of List | Linked List, Two Pointers |
| 20 | Valid Parentheses | String, Stack |
| 21 | Merge Two Sorted Lists | Linked List, Recursion |
| 22 | Generate Parentheses | String, Dynamic Programming, Backtracking |
| 23 | Merge k Sorted Lists | Linked List, Divide and Conquer, Heap, Merge Sort |
| 24 | Swap Nodes in Pairs | Linked List, Recursion |
| 25 | Reverse Nodes in k-Group | Linked List, Recursion |
| 26 | Remove Duplicates from Sorted Array | Array, Two Pointers |
| 27 | Remove Element | Array, Two Pointers |
| 28 | Find the Index of the First Occurrence in a String | Two Pointers, String, String Matching |
| 29 | Divide Two Integers | Math, Bit Manipulation |
| 30 | Substring with Concatenation of All Words | Hash Table, String, Sliding Window |
| 31 | Next Permutation | Array, Two Pointers |
| 32 | Longest Valid Parentheses | String, Dynamic Programming, Stack |
| 33 | Search in Rotated Sorted Array | Array, Binary Search |
| 34 | Find First and Last Position of Element in Sorted Array | Array, Binary Search |
| 35 | Search Insert Position | Array, Binary Search |
| 36 | Valid Sudoku | Array, Hash Table, Matrix |
| 37 | Sudoku Solver | Array, Hash Table, Backtracking, Matrix |
| 38 | Count and Say | String |
| 39 | Combination Sum | Array, Backtracking |
| 40 | Combination Sum II | Array, Backtracking |
| 41 | First Missing Positive | Array, Hash Table |
| 42 | Trapping Rain Water | Array, Two Pointers, Dynamic Programming, Stack, Monotonic Stack |
| 43 | Multiply Strings | Math, String, Simulation |
| 44 | Wildcard Matching | String, Dynamic Programming, Greedy, Recursion |
| 45 | Jump Game II | Array, Dynamic Programming, Greedy |
| 46 | Permutations | Array, Backtracking |
| 47 | Permutations II | Array, Backtracking, Sorting |
| 48 | Rotate Image | Array, Math, Matrix |
| 49 | Group Anagrams | Array, Hash Table, String, Sorting |
| 50 | Pow(x, n) | Math, Recursion |
| 51 | N-Queens | Array, Backtracking |
| 53 | Maximum Subarray | Array, Divide and Conquer, Dynamic Programming |
| 54 | Spiral Matrix | Array, Matrix, Simulation |
| 55 | Jump Game | Array, Dynamic Programming, Greedy |
| 56 | Merge Intervals | Array, Sorting |
| 57 | Insert Interval | Array |
| 62 | Unique Paths | Math, Dynamic Programming, Combinatorics |
| 68 | Text Justification | Array, String, Simulation |
| 70 | Climbing Stairs | Math, Dynamic Programming, Memoization |
| 72 | Edit Distance | String, Dynamic Programming |
| 73 | Set Matrix Zeroes | Array, Hash Table, Matrix |
| 75 | Sort Colors | Array, Two Pointers, Sorting |
| 78 | Subsets | Array, Backtracking, Bit Manipulation |
| 79 | Word Search | Array, String, Backtracking, Depth-First Search, Matrix |
| 84 | Largest Rectangle in Histogram | Array, Stack, Monotonic Stack |
| 85 | Maximal Rectangle | Array, Dynamic Programming, Stack, Matrix, Monotonic Stack |
| 86 | Partition List | Linked List, Two Pointers |
| 88 | Merge Sorted Array | Array, Two Pointers, Sorting |
| 91 | Decode Ways | String, Dynamic Programming |
| 92 | Reverse Linked List II | Linked List |
| 98 | Validate Binary Search Tree | Tree, Depth-First Search, Binary Search Tree, Binary Tree |
| 102 | Binary Tree Level Order Traversal | Tree, Breadth-First Search, Binary Tree |
| 103 | Binary Tree Zigzag Level Order Traversal | Tree, Breadth-First Search, Binary Tree |
| 104 | Maximum Depth of Binary Tree | Tree, Depth-First Search, Breadth-First Search, Binary Tree |
| 108 | Convert Sorted Array to Binary Search Tree | Array, Divide and Conquer, Tree, Binary Search Tree, Binary Tree |
| 112 | Path Sum | Tree, Depth-First Search, Breadth-First Search, Binary Tree |
| 113 | Path Sum II | Backtracking, Tree, Depth-First Search, Binary Tree |
| 121 | Best Time to Buy and Sell Stock | Array, Dynamic Programming |
| 122 | Best Time to Buy and Sell Stock II | Array, Dynamic Programming, Greedy |
| 123 | Best Time to Buy and Sell Stock III | Array, Dynamic Programming |
| 125 | Valid Palindrome | Two Pointers, String |
| 127 | Word Ladder | Hash Table, String, Breadth-First Search |
| 128 | Longest Consecutive Sequence | Array, Hash Table, Union-Find |
| 130 | Surrounded Regions | Array, Depth-First Search, Breadth-First Search, Union-Find, Matrix |
| 131 | Palindrome Partitioning | String, Dynamic Programming, Backtracking |
| 133 | Clone Graph | Hash Table, Depth-First Search, Breadth-First Search, Graph Theory |
| 134 | Gas Station | Array, Greedy |
| 139 | Word Break | Array, Hash Table, String, Dynamic Programming, Trie, Memoization |
| 141 | Linked List Cycle | Hash Table, Linked List, Two Pointers |
| 143 | Reorder List | Linked List, Two Pointers, Stack, Recursion |
| 146 | LRU Cache | Hash Table, Linked List, Design, Doubly-Linked List |
| 151 | Reverse Words in a String | Two Pointers, String |
| 155 | Min Stack | Stack, Design |
| 167 | Two Sum II - Input Array Is Sorted | Array, Two Pointers, Binary Search |
| 188 | Best Time to Buy and Sell Stock IV | Array, Dynamic Programming |
| 189 | Rotate Array | Array, Math, Two Pointers |
| 198 | House Robber | Array, Dynamic Programming |
| 199 | Binary Tree Right Side View | Tree, Depth-First Search, Breadth-First Search, Binary Tree |
| 200 | Number of Islands | Array, Depth-First Search, Breadth-First Search, Union-Find, Matrix |
| 203 | Remove Linked List Elements | Linked List, Recursion |
| 206 | Reverse Linked List | Linked List, Recursion |
| 207 | Course Schedule | Depth-First Search, Breadth-First Search, Graph Theory, Topological Sort |
| 208 | Implement Trie (Prefix Tree) | Hash Table, String, Design, Trie |
| 210 | Course Schedule II | Depth-First Search, Breadth-First Search, Graph Theory, Topological Sort |
| 215 | Kth Largest Element in an Array | Array, Divide and Conquer, Sorting, Heap, Quickselect |
| 216 | Combination Sum III | Array, Backtracking |
| 217 | Contains Duplicate | Array, Hash Table, Sorting |
| 219 | Contains Duplicate II | Array, Hash Table, Sliding Window |
| 220 | Contains Duplicate III | Array, Sliding Window, Sorting, Bucket Sort, Ordered Set |
| 221 | Maximal Square | Array, Dynamic Programming, Matrix |
| 224 | Basic Calculator | Math, String, Stack, Recursion |
| 227 | Basic Calculator II | Math, String, Stack |
| 232 | Implement Queue using Stacks | Stack, Design, Queue |
| 234 | Palindrome Linked List | Linked List, Two Pointers, Stack, Recursion |
| 237 | Delete Node in a Linked List | Linked List |
| 238 | Product of Array Except Self | Array, Prefix Sum |
| 252 | Meeting Rooms | Array, Sorting |
| 253 | Meeting Rooms II | Array, Two Pointers, Greedy, Sorting, Heap, Prefix Sum |
| 256 | Paint House | Array, Dynamic Programming |
| 261 | Graph Valid Tree | Depth-First Search, Breadth-First Search, Union-Find, Graph Theory |
| 265 | Paint House II | Array, Dynamic Programming |
| 273 | Integer to English Words | Math, String, Recursion |
| 277 | Find the Celebrity | Two Pointers, Graph Theory, Interactive |
| 283 | Move Zeroes | Array, Two Pointers |
| 284 | Peeking Iterator | Array, Design, Iterator |
| 295 | Find Median from Data Stream | Two Pointers, Design, Sorting, Heap, Data Stream |
| 300 | Longest Increasing Subsequence | Array, Binary Search, Dynamic Programming |
| 309 | Best Time to Buy and Sell Stock with Cooldown | Array, Dynamic Programming |
| 314 | Binary Tree Vertical Order Traversal | Hash Table, Tree, Depth-First Search, Breadth-First Search, Sorting, Binary Tree |
| 328 | Odd Even Linked List | Linked List |
| 329 | Longest Increasing Path in a Matrix | Array, Dynamic Programming, Depth-First Search, Breadth-First Search, Graph Theory, Topological Sort, Memoization, Matrix |
| 338 | Counting Bits | Dynamic Programming, Bit Manipulation |
| 341 | Flatten Nested List Iterator | Stack, Tree, Depth-First Search, Design, Queue, Iterator |
| 347 | Top K Frequent Elements | Array, Hash Table, Divide and Conquer, Sorting, Heap, Bucket Sort, Counting, Quickselect |
| 362 | Design Hit Counter | Array, Binary Search, Design, Queue, Data Stream |
| 378 | Kth Smallest Element in a Sorted Matrix | Array, Binary Search, Sorting, Heap, Matrix |
| 380 | Insert Delete GetRandom O(1) | Array, Hash Table, Math, Design, Randomized |
| 394 | Decode String | String, Stack, Recursion |
| 410 | Split Array Largest Sum | Array, Binary Search, Dynamic Programming, Greedy, Prefix Sum |
| 412 | Fizz Buzz | Math, String, Simulation |
| 417 | Pacific Atlantic Water Flow | Array, Depth-First Search, Breadth-First Search, Matrix |
| 424 | Longest Repeating Character Replacement | Hash Table, String, Sliding Window |
| 428 | Serialize and Deserialize N-ary Tree | String, Tree, Depth-First Search, Breadth-First Search |
| 432 | All O`one Data Structure | Hash Table, Linked List, Design, Doubly-Linked List |
| 435 | Non-overlapping Intervals | Array, Dynamic Programming, Greedy, Sorting |
| 437 | Path Sum III | Tree, Depth-First Search, Binary Tree |
| 455 | Assign Cookies | Array, Two Pointers, Greedy, Sorting |
| 477 | Total Hamming Distance | Array, Math, Bit Manipulation |
| 496 | Next Greater Element I | Array, Hash Table, Stack, Monotonic Stack |
| 503 | Next Greater Element II | Array, Stack, Monotonic Stack |
| 535 | Encode and Decode TinyURL | Hash Table, String, Design, Hash Function |
| 542 | 01 Matrix | Array, Dynamic Programming, Breadth-First Search, Matrix |
| 543 | Diameter of Binary Tree | Tree, Depth-First Search, Binary Tree |
| 560 | Subarray Sum Equals K | Array, Hash Table, Prefix Sum |
| 563 | Binary Tree Tilt | Tree, Depth-First Search, Binary Tree |
| 567 | Permutation in String | Hash Table, Two Pointers, String, Sliding Window |
| 611 | Valid Triangle Number | Array, Two Pointers, Binary Search, Greedy, Sorting |
| 621 | Task Scheduler | Array, Hash Table, Greedy, Sorting, Heap, Counting |
| 622 | Design Circular Queue | Array, Linked List, Design, Queue |
| 635 | Design Log Storage System | Hash Table, String, Design, Ordered Set |
| 658 | Find K Closest Elements | Array, Two Pointers, Binary Search, Sliding Window, Sorting, Heap |
| 662 | Maximum Width of Binary Tree | Tree, Depth-First Search, Breadth-First Search, Binary Tree |
| 674 | Longest Continuous Increasing Subsequence | Array |
| 687 | Longest Univalue Path | Tree, Depth-First Search, Binary Tree |
| 713 | Subarray Product Less Than K | Array, Binary Search, Sliding Window, Prefix Sum |
| 714 | Best Time to Buy and Sell Stock with Transaction Fee | Array, Dynamic Programming, Greedy |
| 727 | Minimum Window Subsequence | String, Dynamic Programming, Sliding Window |
| 733 | Flood Fill | Array, Depth-First Search, Breadth-First Search, Matrix |
| 736 | Parse Lisp Expression | Hash Table, String, Stack, Recursion |
| 739 | Daily Temperatures | Array, Stack, Monotonic Stack |
| 743 | Network Delay Time | Depth-First Search, Breadth-First Search, Graph Theory, Heap, Shortest Path |
| 746 | Min Cost Climbing Stairs | Array, Dynamic Programming |
| 759 | Employee Free Time | Array, Sweep Line, Sorting, Heap |
| 763 | Partition Labels | Hash Table, Two Pointers, String, Greedy |
| 772 | Basic Calculator III | Math, String, Stack, Recursion |
| 787 | Cheapest Flights Within K Stops | Dynamic Programming, Depth-First Search, Breadth-First Search, Graph Theory, Heap, Shortest Path |
| 815 | Bus Routes | Array, Hash Table, Breadth-First Search |
| 863 | All Nodes Distance K in Binary Tree | Hash Table, Tree, Depth-First Search, Breadth-First Search, Binary Tree |
| 875 | Koko Eating Bananas | Array, Binary Search |
| 889 | Construct Binary Tree from Preorder and Postorder Traversal | Array, Hash Table, Divide and Conquer, Tree, Binary Tree |
| 895 | Maximum Frequency Stack | Hash Table, Stack, Design, Ordered Set |
| 904 | Fruit Into Baskets | Array, Hash Table, Sliding Window |
| 918 | Maximum Sum Circular Subarray | Array, Divide and Conquer, Dynamic Programming, Queue, Monotonic Queue |
| 931 | Minimum Falling Path Sum | Array, Dynamic Programming, Matrix |
| 973 | K Closest Points to Origin | Array, Math, Divide and Conquer, Geometry, Sorting, Heap, Quickselect |
| 981 | Time Based Key-Value Store | Hash Table, String, Binary Search, Design |
| 987 | Vertical Order Traversal of a Binary Tree | Hash Table, Tree, Depth-First Search, Breadth-First Search, Sorting, Binary Tree |
| 994 | Rotting Oranges | Array, Breadth-First Search, Matrix |
| 1056 | Confusing Number | Math |
| 1064 | Fixed Point | Array, Binary Search |
| 1087 | Brace Expansion | String, Backtracking, Stack, Breadth-First Search, Sorting |
| 1146 | Snapshot Array | Array, Hash Table, Binary Search, Design |
| 1197 | Minimum Knight Moves | Breadth-First Search |
| 1235 | Maximum Profit in Job Scheduling | Array, Binary Search, Dynamic Programming, Sorting |
| 1283 | Find the Smallest Divisor Given a Threshold | Array, Binary Search |
| 1334 | Find the City With the Smallest Number of Neighbors at a Threshold Distance | Dynamic Programming, Graph Theory, Shortest Path |
| 1423 | Maximum Points You Can Obtain from Cards | Array, Sliding Window, Prefix Sum |
| 1448 | Count Good Nodes in Binary Tree | Tree, Depth-First Search, Breadth-First Search, Binary Tree |
| 1631 | Path With Minimum Effort | Array, Binary Search, Depth-First Search, Breadth-First Search, Union-Find, Heap, Matrix |
| 1641 | Count Sorted Vowel Strings | Math, Dynamic Programming, Combinatorics |
| 1740 | Find Distance in a Binary Tree | Hash Table, Tree, Depth-First Search, Breadth-First Search, Binary Tree |
| 1752 | Check if Array Is Sorted and Rotated | Array |
| 1804 | Implement Trie II (Prefix Tree) | Hash Table, String, Design, Trie |
| 2093 | Minimum Cost to Reach City With Discounts | Graph Theory, Heap, Shortest Path |
| 2095 | Delete the Middle Node of a Linked List | Linked List, Two Pointers |
| 2150 | Find All Lonely Numbers in the Array | Array, Hash Table, Counting |
| 2185 | Counting Words With a Given Prefix | Array, String, String Matching |
| 2435 | Paths in Matrix Whose Sum Is Divisible by K | Array, Dynamic Programming, Matrix |
| 2461 | Maximum Sum of Distinct Subarrays With Length K | Array, Hash Table, Sliding Window |
| 2487 | Remove Nodes From Linked List | Linked List, Stack, Recursion, Monotonic Stack |
| 2502 | Design Memory Allocator | Array, Hash Table, Design, Simulation |
| 2559 | Count Vowel Strings in Ranges | Array, String, Prefix Sum |
| 3249 | Count the Number of Good Nodes | Tree, Depth-First Search |
| 3408 | Design Task Manager | Hash Table, Design, Heap, Ordered Set |
| 3573 | Best Time to Buy and Sell Stock V | Array, Dynamic Programming |
| 3652 | Best Time to Buy and Sell Stock using Strategy | Array, Sliding Window, Prefix Sum |
| 3693 | Climbing Stairs II | Array, Dynamic Programming |