| 1 |
Two Sums I |
Easy |
Array |
| 2 |
Add Two Numbers |
Medium |
Linked List |
| 3 |
Longest Substring Without Repeating |
Medium |
String Manipulation |
| 4 |
Median of Two Sorted Arrays |
Hard |
Array |
| 5 |
Longest Palindromic Substring |
Medium |
Dynamic Programming and Backtracking |
| 7 |
Reverse Integer |
Medium |
Math |
| 8 |
String to Integer (atoi) |
Medium |
String Manipulation |
| 11 |
Container With Most Water |
Medium |
Array |
| 14 |
Longest Common Prefix |
Easy |
String Manipulation |
| 15 |
3Sum |
Medium |
Array |
| 16 |
3Sum Closest |
Medium |
Array |
| 17 |
Letter Combinations of a Phone Number |
Medium |
Dynamic Programming and Backtracking |
| 18 |
4Sum |
Medium |
Array |
| 19 |
Remove Nth Node From End |
Medium |
Linked List |
| 21 |
Merge Two Sorted Lists |
Easy |
Linked List |
| 23 |
Merge k Sorted Lists |
Hard |
Linked List |
| 25 |
Reverse Nodes in k-Group |
Hard |
Linked List |
| 26 |
Remove Duplicates from Sorted Array |
Easy |
Array |
| 32 |
Longest Valid Parentheses |
Hard |
Stack and Queue |
| 33 |
Search in Rotated Sorted Array |
Medium |
Array |
| 36 |
Valid Sudoku |
Medium |
Matrix |
| 39 |
Combination Sum |
Medium |
Dynamic Programming and Backtracking |
| 46 |
Permutations |
Medium |
Dynamic Programming and Backtracking |
| 47 |
Permutations II |
Medium |
Dynamic Programming and Backtracking |
| 48 |
Rotate Image |
Medium |
Matrix |
| 49 |
Group Anagrams |
Medium |
String Manipulation |
| 50 |
Pow(x; n) |
Medium |
Math |
| 53 |
Maximum Subarray |
Easy |
Array |
| 54 |
Spiral Matrix |
Medium |
Matrix |
| 56 |
Merge Intervals |
Medium |
Array |
| 57 |
Insert Interval |
Hard |
Array |
| 62 |
Unique Paths |
Medium |
Dynamic Programming and Backtracking |
| 64 |
Minimum Path Sum |
Medium |
Dynamic Programming and Backtracking |
| 66 |
Plus One |
Easy |
Array |
| 70 |
Climbing Stairs |
Easy |
Dynamic Programming and Backtracking |
| 73 |
Set Matrix Zeroes |
Medium |
Matrix |
| 74 |
Search a 2D Matrix |
Medium |
Matrix |
| 75 |
Sort Colors |
Medium |
Array |
| 78 |
Subsets |
Medium |
Dynamic Programming and Backtracking |
| 79 |
Word Search |
Medium |
Dynamic Programming and Backtracking |
| 83 |
Remove Duplicates from Sorted List |
Easy |
Linked List |
| 90 |
Subsets II |
Medium |
Dynamic Programming and Backtracking |
| 91 |
Decode Ways |
Medium |
Dynamic Programming and Backtracking |
| 92 |
Reverse Linked List II |
Medium |
Linked List |
| 94 |
Binary Tree Inorder Traversal |
Easy |
Tree |
| 98 |
Validate Binary Search Tree |
Medium |
Tree |
| 102 |
Binary Tree Level Order Traversal |
Medium |
Tree |
| 107 |
Binary Tree Level Order Traversal II |
Medium |
Tree |
| 110 |
Balanced Binary Tree |
Easy |
Tree |
| 111 |
Minimum Depth of Binary Tree |
Easy |
Tree |
| 112 |
Path Sum |
Easy |
Tree |
| 116 |
Populating Next Right Pointers in Each Node |
Medium |
Tree |
| 118 |
Pascal’s Triangle |
Easy |
Dynamic Programming and Backtracking |
| 121 |
Best Time to Buy and Sell Stock |
Easy |
Array |
| 122 |
Best Time to Buy and Sell Stock II |
Easy |
Array |
| 127 |
Word Ladder |
Medium |
String Manipulation |
| 130 |
Surrounded Regions |
Medium |
Matrix |
| 133 |
Clone Graph |
Medium |
Graph |
| 134 |
Gas Station |
Medium |
Array |
| 136 |
Single Number |
Easy |
Math |
| 138 |
Copy List with Random Pointer |
Medium |
Linked List |
| 139 |
Word Break |
Medium |
Dynamic Programming and Backtracking |
| 141 |
Linked List Cycle |
Easy |
Linked List |
| 142 |
Linked List Cycle II |
Medium |
Linked List |
| 143 |
Reorder List |
Medium |
Linked List |
| 144 |
Binary Tree Preorder Traversal |
Easy |
Tree |
| 145 |
Binary Tree Postorder Traversal |
Easy |
Tree |
| 146 |
Design LRU Cache |
Medium |
Advanced Data Structure |
| 147 |
Insertion Sort List |
Medium |
Linked List |
| 148 |
Sort List |
Medium |
Linked List |
| 150 |
Evaluate Reverse Polish Notation |
Medium |
Stack and Queue |
| 152 |
Maximum Product Subarray |
Medium |
Array |
| 155 |
Min Stack |
Medium |
Stack and Queue |
| 156 |
Binary Tree Upside Down |
Medium |
Tree |
| 160 |
Intersection of Two Linked Lists |
Easy |
Linked List |
| 167 |
Two Sum II - Sorted Array |
Medium |
Array |
| 190 |
Reverse Bits |
Easy |
Math |
| 191 |
Number of 1 Bits |
Easy |
Math |
| 198 |
House Robber |
Easy |
Dynamic Programming and Backtracking |
| 200 |
Number of Islands |
Medium |
Matrix |
| 202 |
Happy Number |
Easy |
Math |
| 204 |
Count Primes |
Easy |
Math |
| 206 |
Reverse Linked List |
Easy |
Linked List |
| 207 |
Course Schedule |
Medium |
Graph |
| 208 |
Implement Trie (Prefix Tree) |
Medium |
Tree |
| 209 |
Minimum Size Subarray Sum |
Medium |
Array |
| 210 |
Course Schedule II |
Medium |
Graph |
| 211 |
Design Add and Search Words Data Structure |
Medium |
String Manipulation |
| 215 |
Find kth Largest Element |
Medium |
Heap |
| 221 |
Maximal Square |
Medium |
Dynamic Programming and Backtracking |
| 230 |
Kth Smallest Element in a BST |
Medium |
Tree |
| 232 |
Implement Queue using Stacks |
Easy |
Stack and Queue |
| 234 |
Palindrome Linked List |
Easy |
Linked List |
| 235 |
Lowest Common Ancestor of a Binary Search Tree |
Medium |
Tree |
| 236 |
Lowest Common Ancestor of a Binary Tree |
Medium |
Tree |
| 238 |
Product of Array Except Self |
Medium |
Array |
| 240 |
Search a 2D Matrix II |
Medium |
Matrix |
| 250 |
Count Univalue Subtrees |
Medium |
Tree |
| 253 |
Meeting Rooms II |
Medium |
Heap |
| 256 |
Paint House |
Easy |
Dynamic Programming and Backtracking |
| 261 |
Graph Valid Tree |
Medium |
Graph |
| 269 |
Alien Dictionary |
Hard |
Graph |
| 271 |
Encode and Decode Strings |
Medium |
String Manipulation |
| 278 |
First Bad Version |
Easy |
Interactive |
| 285 |
Inorder Successor in BST |
Medium |
Tree |
| 286 |
Walls and Gates |
Medium |
Matrix |
| 287 |
Find the Duplicate Number |
Medium |
Array |
| 295 |
Find Median from Data Stream |
Hard |
Heap |
| 296 |
Best Meeting Point |
Hard |
Matrix |
| 297 |
Serialize and Deserialize Binary Tree |
Hard |
Tree |
| 298 |
Binary Tree Longest Consecutive Sequence |
Medium |
Tree |
| 300 |
Longest Increasing Subsequence |
Medium |
Dynamic Programming and Backtracking |
| 309 |
Best Time to Buy and Sell Stock with Cooldown |
Medium |
Dynamic Programming and Backtracking |
| 322 |
Coin Change |
Medium |
Dynamic Programming and Backtracking |
| 323 |
Number of Connected Components in an Undirected Graph |
Medium |
Graph |
| 328 |
Odd Even Linked List |
Medium |
Linked List |
| 347 |
Top K Frequent Elements |
Medium |
Heap |
| 348 |
Design Tic-Tac-Toe |
Medium |
Matrix |
| 355 |
Design Twitter |
Medium |
Advanced Data Structure |
| 366 |
Find Leaves of Binary Tree |
Medium |
Tree |
| 371 |
Sum of Two Integers |
Medium |
Math |
| 383 |
Ransom Note |
Easy |
String Manipulation |
| 398 |
Random Pick Index |
Medium |
Array |
| 409 |
Longest Palindrome |
Easy |
String Manipulation |
| 417 |
Pacific Atlantic Water Flow |
Medium |
Matrix |
| 419 |
Battleships in a Board |
Medium |
Matrix |
| 424 |
Longest Repeating Character Replacement |
Medium |
String Manipulation |
| 435 |
Non-overlapping Intervals |
Medium |
Array |
| 438 |
Find All Anagrams in a String |
Medium |
String Manipulation |
| 451 |
Sort Characters By Frequency |
Medium |
String Manipulation |
| 454 |
4Sum II |
Medium |
Array |
| 470 |
Implement Rand10() Using Rand7() |
Medium |
Math |
| 518 |
Coin Change II |
Medium |
Dynamic Programming and Backtracking |
| 528 |
Random Pick with Weight |
Medium |
Array |
| 542 |
01 Matrix |
Medium |
Matrix |
| 543 |
Diameter of Binary Tree |
Easy |
Tree |
| 554 |
Brick Wall |
Medium |
Matrix |
| 567 |
Permutation in String |
Medium |
String Manipulation |
| 572 |
Subtree of Another Tree |
Easy |
Tree |
| 621 |
Task Scheduler |
Medium |
Stack and Queue |
| 647 |
Palindromic Substrings |
Medium |
Dynamic Programming and Backtracking |
| 653 |
Two Sum IV - BST |
Easy |
Tree |
| 680 |
Valid Palindrome II |
Easy |
String Manipulation |
| 704 |
Binary Search |
Easy |
Array |
| 705 |
Design HashSet |
Easy |
Advanced Data Structure |
| 706 |
Design HashMap |
Easy |
Advanced Data Structure |
| 721 |
Accounts Merge |
Medium |
Graph |
| 729 |
My Calendar I |
Medium |
Advanced Data Structure |
| 739 |
Daily Temperatures |
Medium |
Stack and Queue |
| 743 |
Network Delay Time |
Medium |
Graph |
| 801 |
Minimum Swaps Sequences Increasing |
Medium |
Dynamic Programming and Backtracking |
| 843 |
Guess the Word |
Hard |
Interactive |
| 846 |
Hand of Straights |
Medium |
Array |
| 849 |
Maximize Distance to Closest Person |
Medium |
Array |
| 853 |
Car Fleet |
Medium |
Stack and Queue |
| 875 |
Koko Eating Bananas |
Medium |
Array |
| 905 |
Sort Array By Parity |
Easy |
Array |
| 953 |
Verifying an Alien Dictionary |
Easy |
String Manipulation |
| 973 |
K Closest Points to Origin |
Medium |
Heap |
| 981 |
Time Based Key-Value Store |
Medium |
Advanced Data Structure |
| 986 |
Interval List Intersections |
Medium |
Array |
| 994 |
Rotting Oranges |
Medium |
Matrix |
| 1002 |
Find Common Characters |
Easy |
Array |
| 1046 |
Last Stone Weight |
Easy |
Heap |
| 1277 |
Count Square Submatrices with All Ones |
Medium |
Dynamic Programming and Backtracking |
| 1347 |
Minimum Number of Steps to Make Two Strings Anagram |
Medium |
String Manipulation |
| 1358 |
Number of Substrings All Three Chars |
Medium |
String Manipulation |
| 1448 |
Count Good Nodes in Binary Tree |
Medium |
Tree |
| 1669 |
Merge In Between Linked Lists |
Medium |
Linked List |
| 1717 |
Maximum Score From Removing Substrings |
Medium |
Stack and Queue |
| 1891 |
Cutting Ribbons |
Medium |
Array |
| 1899 |
Merge Triplets to Form Target Triplet |
Medium |
Array |
| 1921 |
Eliminate Maximum Monsters |
Medium |
Array |
| 2013 |
Detect Squares |
Medium |
Matrix |
| 2043 |
Simple Bank System |
Medium |
Advanced Data Structure |
| 2348 |
Number of Zero-Filled Subarrays |
Medium |
Array |
| 2966 |
Divide Array Into Arrays With Max Difference |
Medium |
Array |
| 3191 |
Minimum Operations to Make Binary Array Elements Equal to One I |
Medium |
Array |
| - |
Shortest Word Distance |
Easy |
Array |