1 |
Two Sum |
C++ |
Easy |
2 |
Add Two Numbers |
C++ |
Medium |
3 |
Longest Substring Without Repeating Characters |
C++ |
Medium |
4 |
Median of Two Sorted Arrays |
C++ |
Hard |
5 |
Longest Palindromic Substring |
C++ |
Medium |
6 |
ZigZag Conversion |
C++ |
Medium |
7 |
Reverse Integer |
C++ |
Easy |
8 |
String to Integer (atoi) |
C++ |
Medium |
9 |
Palindrome Number |
C++ |
Easy |
10 |
Regular Expression Matching |
C++ |
Hard |
11 |
Container With Most Water |
C++ |
Medium |
12 |
Integer to Roman |
C++ |
Medium |
13 |
Roman to Integer |
C++ |
Easy |
14 |
Longest Common Prefix |
C++ |
Easy |
15 |
3Sum |
C++ |
Medium |
16 |
3Sum Closest |
C++ |
Medium |
17 |
Letter Combinations of a Phone Number |
C++ |
Medium |
18 |
4Sum |
C++ |
Medium |
19 |
Remove Nth Node From End of List |
C++ |
Medium |
20 |
Valid Parentheses |
C++ |
Easy |
21 |
Merge Two Sorted Lists |
C++ |
Easy |
22 |
Generate Parentheses |
C++ |
Medium |
23 |
Merge k Sorted Lists |
C++ |
Hard |
24 |
Swap Nodes in Pairs |
C++ |
Medium |
26 |
Remove Duplicates from Sorted Array |
C++ |
Easy |
27 |
Remove Element |
C++ |
Easy |
28 |
Implement strStr() |
C++ |
Easy |
29 |
Divide Two Integers |
C++ |
Medium |
31 |
Next Permutation |
C++ |
Medium |
32 |
Longest Valid Parentheses |
C++ |
Hard |
33 |
Search in Rotated Sorted Array |
C++ |
Medium |
34 |
Find First and Last Position of Element in Sorted |
C++ |
Medium |
35 |
Search Insert Position |
C++ |
Easy |
36 |
Valid Sudoku |
C++ |
Medium |
38 |
Count and Say |
C++ |
Easy |
39 |
Combination Sum |
C++ |
Medium |
40 |
Combination Sum II |
C++ |
Medium |
41 |
First Missing Positive |
C++ |
Hard |
42 |
Trapping Rain Water |
C++ |
Hard |
43 |
Multiply Strings |
C++ |
Medium |
44 |
Wildcard Matching |
C++ |
Hard |
45 |
Jump Game II |
C++ |
Hard |
46 |
Permutations |
C++ |
Medium |
47 |
Permutations II |
C++ |
Medium |
48 |
Rotate Image |
C++ |
Medium |
49 |
Group Anagrams |
C++ |
Medium |
50 |
Pow(x, n) |
C++ |
Medium |
53 |
Maximum Subarray |
C++ |
Easy |
54 |
Spiral Matrix |
C++ |
Medium |
55 |
Jump Game |
C++ |
Medium |
56 |
Merge Intervals |
C++ |
Medium |
58 |
Length of Last Word |
C++ |
Easy |
59 |
Spiral Matrix II |
C++ |
Medium |
60 |
Permutation Sequence |
C++ |
Medium |
61 |
Rotate List |
C++ |
Medium |
62 |
Unique Paths |
C++ |
Medium |
63 |
Unique Paths II |
C++ |
Medium |
64 |
Minimum Path Sum |
C++ |
Medium |
65 |
Valid Number |
C++ |
Hard |
66 |
Plus One |
C++ |
Easy |
67 |
Add Binary |
C++ |
Easy |
69 |
Sqrt(x) |
C++ |
Easy |
70 |
Climbing Stairs |
C++ |
Easy |
71 |
Simplify Path |
C++ |
Medium |
72 |
Edit Distance |
C++ |
Hard |
73 |
Set Matrix Zeroes |
C++ |
Medium |
74 |
Search a 2D Matrix |
C++ |
Medium |
75 |
Sort Colors |
C++ |
Medium |
76 |
Minimum Window Substring |
C++ |
Hard |
77 |
Combinations |
C++ |
Medium |
78 |
Subsets |
C++ |
Medium |
79 |
Word Search |
C++ |
Medium |
80 |
Remove Duplicates from Sorted Array II |
C++ |
Medium |
81 |
Search in Rotated Sorted Array II |
C++ |
Medium |
82 |
Remove Duplicates from Sorted List II |
C++ |
Medium |
83 |
Remove Duplicates from Sorted List |
C++ |
Easy |
84 |
Largest Rectangle in Histogram |
C++ |
Hard |
85 |
Maximal Rectangle |
C++ |
Hard |
86 |
Partition List |
C++ |
Medium |
88 |
Merge Sorted Array |
C++ |
Easy |
89 |
Gray Code |
C++ |
Medium |
90 |
Subsets II |
C++ |
Medium |
91 |
Decode Ways |
C++ |
Medium |
92 |
Reverse Linked List II |
C++ |
Medium |
93 |
Restore IP Addresses |
C++ |
Medium |
94 |
Binary Tree Inorder Traversal |
C++ |
Medium |
95 |
Unique Binary Search Trees II |
C++ |
Medium |
96 |
Unique Binary Search Trees |
C++ |
Medium |
97 |
Interleaving String |
C++ |
Medium |
98 |
Validate Binary Search Tree |
C++ |
Medium |
99 |
Recover Binary Search Tree |
C++ |
Medium |
100 |
Same Tree |
C++ |
Easy |
101 |
Symmetric Tree |
C++ |
Easy |
102 |
Binary Tree Level Order Traversal |
C++ |
Medium |
103 |
Binary Tree Zigzag Level Order Traversal |
C++ |
Medium |
104 |
Maximum Depth of Binary Tree |
C++ |
Easy |
105 |
Construct Binary Tree from Preorder and Inorder Traversal |
C++ |
Medium |
106 |
Construct Binary Tree from Inorder and Postorder Traversal |
C++ |
Medium |
107 |
Binary Tree Level Order Traversal II |
C++ |
Easy |
108 |
Convert Sorted Array to Binary Search Tree |
C++ |
Easy |
109 |
Convert Sorted List to Binary Search Tree |
C++ |
Medium |
110 |
Balanced Binary Tree |
C++ |
Easy |
111 |
Minimum Depth of Binary Tree |
C++ |
Easy |
112 |
Path Sum |
C++ |
Easy |
113 |
Path Sum II |
C++ |
Medium |
114 |
Flatten Binary Tree to Linked List |
C++ |
Medium |
116 |
Populating Next Right Pointers in Each Node |
C++ |
Medium |
117 |
Populating Next Right Pointers in Each Node II |
C++ |
Medium |
118 |
Pascal's Triangle |
C++ |
Easy |
119 |
Pascal's Triangle II |
C++ |
Easy |
120 |
Triangle |
C++ |
Medium |
121 |
Best Time to Buy and Sell Stock |
C++ |
Easy |
122 |
Best Time to Buy and Sell Stock II |
C++ |
Easy |
123 |
Best Time to Buy and Sell Stock III |
C++ |
Hard |
124 |
Binary Tree Maximum Path Sum |
C++ |
Hard |
125 |
Valid Palindrome |
C++ |
Easy |
127 |
Word Ladder |
C++ |
Medium |
128 |
Longest Consecutive Sequence |
C++ |
Hard |
129 |
Sum Root to Leaf Numbers |
C++ |
Medium |
130 |
Surrounded Regions |
C++ |
Medium |
131 |
Palindrome Partitioning |
C++ |
Medium |
133 |
Clone Graph |
C++ |
Medium |
134 |
Gas Station |
C++ |
Medium |
136 |
Single Number |
C++ |
Easy |
137 |
Single Number II |
C++ |
Medium |
138 |
Copy List with Random Pointer |
C++ |
Medium |
139 |
Word Break |
C++ |
Medium |
140 |
Word Break II |
C++ |
Hard |
141 |
Linked List Cycle |
C++ |
Easy |
142 |
Linked List Cycle II |
C++ |
Medium |
143 |
Reorder List |
C++ |
Medium |
144 |
Binary Tree Preorder Traversal |
C++ |
Medium |
145 |
Binary Tree Postorder Traversal |
C++ |
Hard |
146 |
LRU Cache |
C++ |
Medium |
148 |
Sort List |
C++ |
Medium |
149 |
Max Points on a Line |
C++ |
Hard |
150 |
Evaluate Reverse Polish Notation |
C++ |
Medium |
151 |
Reverse Words in a String |
C++ |
Medium |
152 |
Maximum Product Subarray |
C++ |
Medium |
153 |
Find Minimum in Rotated Sorted Array |
C++ |
Medium |
155 |
Min Stack |
C++ |
Easy |
160 |
Intersection of Two Linked Lists |
C++ |
Easy |
162 |
Find Peak Element |
C++ |
Medium |
165 |
Compare Version Numbers |
C++ |
Medium |
166 |
Fraction to Recurring Decimal |
C++ |
Medium |
167 |
Two Sum II - Input array is sorted |
C++ |
Easy |
168 |
Excel Sheet Column Title |
C++ |
Easy |
169 |
Majority Element |
C++ |
Easy |
171 |
Excel Sheet Column Number |
C++ |
Easy |
172 |
Factorial Trailing Zeroes |
C++ |
Easy |
179 |
Largest Number |
C++ |
Medium |
187 |
Repeated DNA Sequences |
C++ |
Medium |
188 |
Best Time to Buy and Sell Stock IV |
C++ |
Hard |
189 |
Rotate Array |
C++ |
Easy |
190 |
Reverse Bits |
C++ |
Easy |
191 |
Number of 1 Bits |
C++ |
Easy |
198 |
House Robber |
C++ |
Easy |
199 |
Binary Tree Right Side View |
C++ |
Medium |
200 |
Number of Islands |
C++ |
Medium |
201 |
Bitwise AND of Numbers Range |
C++ |
Medium |
202 |
Happy Number |
C++ |
Easy |
203 |
Remove Linked List Elements |
C++ |
Easy |
204 |
Count Primes |
C++ |
Easy |
205 |
Isomorphic Strings |
C++ |
Easy |
206 |
Reverse Linked List |
C++ |
Easy |
207 |
Course Schedule |
C++ |
Medium |
208 |
Implement Trie (Prefix Tree) |
C++ |
Medium |
209 |
Minimum Size Subarray Sum |
C++ |
Medium |
210 |
Course Schedule II |
C++ |
Medium |
211 |
Add and Search Word - Data structure design |
C++ |
Medium |
212 |
Word Search II |
C++ |
Hard |
213 |
House Robber II |
C++ |
Medium |
215 |
Kth Largest Element in an Array |
C++ |
Medium |
216 |
Combination Sum III |
C++ |
Medium |
217 |
Contains Duplicate |
C++ |
Easy |
218 |
The Skyline Problem |
C++ |
Hard |
219 |
Contains Duplicate II |
C++ |
Easy |
220 |
Contains Duplicate III |
C++ |
Medium |
221 |
Maximal Square |
C++ |
Medium |
222 |
Count Complete Tree Nodes |
C++ |
Medium |
223 |
Rectangle Area |
C++ |
Medium |
225 |
Implement Stack using Queues |
C++ |
Easy |
226 |
Invert Binary Tree |
C++ |
Easy |
227 |
Basic Calculator II |
C++ |
Medium |
228 |
Summary Ranges |
C++ |
Medium |
229 |
Majority Element II |
C++ |
Medium |
230 |
Kth Smallest Element in a BST |
C++ |
Medium |
231 |
Power of Two |
C++ |
Easy |
232 |
Implement Queue using Stacks |
C++ |
Easy |
233 |
Number of Digit One |
C++ |
Hard |
234 |
Palindrome Linked List |
C++ |
Easy |
235 |
Lowest Common Ancestor of a Binary Search Tree |
C++ |
Easy |
236 |
Lowest Common Ancestor of a Binary Tree |
C++ |
Medium |
237 |
Delete Node in a Linked List |
C++ |
Easy |
238 |
Product of Array Except Self |
C++ |
Medium |
239 |
Sliding Window Maximum |
C++ |
Hard |
240 |
Search a 2D Matrix II |
C++ |
Medium |
241 |
Different Ways to Add Parentheses |
C++ |
Medium |
242 |
Valid Anagram |
C++ |
Easy |
257 |
Binary Tree Paths |
C++ |
Easy |
258 |
Add Digits |
C++ |
Easy |
260 |
Single Number III |
C++ |
Medium |
263 |
Ugly Number |
C++ |
Easy |
264 |
Ugly Number II |
C++ |
Medium |
268 |
Missing Number |
C++ |
Easy |
274 |
H-Index |
C++ |
Medium |
275 |
H-Index II |
C++ |
Medium |
278 |
First Bad Version |
C++ |
Easy |
279 |
Perfect Squares |
C++ |
Medium |
283 |
Move Zeroes |
C++ |
Easy |
284 |
Peeking Iterator |
C++ |
Medium |
287 |
Find the Duplicate Number |
C++ |
Medium |
289 |
Game of Life |
C++ |
Medium |
290 |
Word Pattern |
C++ |
Easy |
292 |
Nim Game |
C++ |
Easy |
295 |
Find Median from Data Stream |
C++ |
Hard |
297 |
Serialize and Deserialize Binary Tree |
C++ |
Hard |
299 |
Bulls and Cows |
C++ |
Medium |
300 |
Longest Increasing Subsequence |
C++ |
Medium |
301 |
Remove Invalid Parentheses |
C++ |
Hard |
303 |
Range Sum Query - Immutable |
C++ |
Easy |
304 |
Range Sum Query 2D - Immutable |
C++ |
Medium |
306 |
Additive Number |
C++ |
Medium |
307 |
Range Sum Query - Mutable |
C++ |
Medium |
309 |
Best Time to Buy and Sell Stock with Cooldown |
C++ |
Medium |
310 |
Minimum Height Trees |
C++ |
Medium |
312 |
Burst Balloons |
C++ |
Hard |
313 |
Super Ugly Number |
C++ |
Medium |
315 |
Count of Smaller Numbers After Self |
C++ |
Hard |
316 |
Remove Duplicate Letters |
C++ |
Medium |
318 |
Maximum Product of Word Lengths |
C++ |
Medium |
319 |
Bulb Switcher |
C++ |
Medium |
322 |
Coin Change |
C++ |
Medium |
324 |
Wiggle Sort II |
C++ |
Medium |
326 |
Power of Three |
C++ |
Easy |
328 |
Odd Even Linked List |
C++ |
Medium |
329 |
Longest Increasing Path in a Matrix |
C++ |
Hard |
331 |
Verify Preorder Serialization of a Binary Tree |
C++ |
Medium |
332 |
Reconstruct Itinerary |
C++ |
Medium |
334 |
Increasing Triplet Subsequence |
C++ |
Medium |
337 |
House Robber III |
C++ |
Medium |
338 |
Counting Bits |
C++ |
Medium |
341 |
Flatten Nested List Iterator |
C++ |
Medium |
342 |
Power of Four |
C++ |
Easy |
343 |
Integer Break |
C++ |
Medium |
344 |
Reverse String |
C++ |
Easy |
345 |
Reverse Vowels of a String |
C++ |
Easy |
347 |
Top K Frequent Elements |
C++ |
Medium |
349 |
Intersection of Two Arrays |
C++ |
Easy |
350 |
Intersection of Two Arrays II |
C++ |
Easy |
357 |
Count Numbers with Unique Digits |
C++ |
Medium |
365 |
Water and Jug Problem |
C++ |
Medium |
367 |
Valid Perfect Square |
C++ |
Easy |
368 |
Largest Divisible Subset |
C++ |
Medium |
371 |
Sum of Two Integers |
C++ |
Easy |
372 |
Super Pow |
C++ |
Medium |
373 |
Find K Pairs with Smallest Sums |
C++ |
Medium |
374 |
Guess Number Higher or Lower |
C++ |
Easy |
375 |
Guess Number Higher or Lower II |
C++ |
Medium |
376 |
Wiggle Subsequence |
C++ |
Medium |
377 |
Combination Sum IV |
C++ |
Medium |
378 |
Kth Smallest Element in a Sorted Matrix |
C++ |
Medium |
380 |
Insert Delete GetRandom O(1) |
C++ |
Medium |
381 |
Insert Delete GetRandom O(1) - Duplicates allowed |
C++ |
Hard |
382 |
Linked List Random Node |
C++ |
Medium |
383 |
Ransom Note |
C++ |
Easy |
384 |
Shuffle an Array |
C++ |
Medium |
385 |
Mini Parser |
C++ |
Medium |
386 |
Lexicographical Numbers |
C++ |
Medium |
387 |
First Unique Character in a String |
C++ |
Easy |
388 |
Longest Absolute File Path |
C++ |
Medium |
389 |
Find the Difference |
C++ |
Easy |
390 |
Elimination Game |
C++ |
Medium |
392 |
Is Subsequence |
C++ |
Easy |
393 |
UTF-8 Validation |
C++ |
Medium |
394 |
Decode String |
C++ |
Medium |
395 |
Longest Substring with At Least K Repeating Characters |
C++ |
Medium |
396 |
Rotate Function |
C++ |
Medium |
397 |
Integer Replacement |
C++ |
Medium |
398 |
Random Pick Index |
C++ |
Medium |
400 |
Nth Digit |
C++ |
Medium |
401 |
Binary Watch |
C++ |
Easy |
402 |
Remove K Digits |
C++ |
Medium |
404 |
Sum of Left Leaves |
C++ |
Easy |
405 |
Convert a Number to Hexadecimal |
C++ |
Easy |
406 |
Queue Reconstruction by Height |
C++ |
Medium |
409 |
Longest Palindrome |
C++ |
Easy |
412 |
Fizz Buzz |
C++ |
Easy |
413 |
Arithmetic Slices |
C++ |
Medium |
414 |
Third Maximum Number |
C++ |
Easy |
415 |
Add Strings |
C++ |
Easy |
416 |
Partition Equal Subset Sum |
C++ |
Medium |
429 |
N-ary Tree Level Order Traversal |
C++ |
Easy |
434 |
Number of Segments in a String |
C++ |
Easy |
437 |
Path Sum III |
C++ |
Easy |
438 |
Find All Anagrams in a String |
C++ |
Easy |
441 |
Arranging Coins |
C++ |
Easy |
443 |
String Compression |
C++ |
Easy |
447 |
Number of Boomerangs |
C++ |
Easy |
448 |
Find All Numbers Disappeared in an Array |
C++ |
Easy |
453 |
Minimum Moves to Equal Array Elements |
C++ |
Easy |
454 |
4Sum II |
C++ |
Medium |
455 |
Assign Cookies |
C++ |
Easy |
459 |
Repeated Substring Pattern |
C++ |
Easy |
461 |
Hamming Distance |
C++ |
Easy |
463 |
Island Perimeter |
C++ |
Easy |
474 |
Ones and Zeroes |
C++ |
Medium |
475 |
Heaters |
C++ |
Easy |
476 |
Number Complement |
C++ |
Easy |
485 |
Max Consecutive Ones |
C++ |
Easy |
493 |
Reverse Pairs |
C++ |
Hard |
494 |
Target Sum |
C++ |
Medium |
496 |
Next Greater Element I |
C++ |
Easy |
500 |
Keyboard Row |
C++ |
Easy |
509 |
Fibonacci Number |
C++ |
Easy |
532 |
K-diff Pairs in an Array |
C++ |
Easy |
543 |
Diameter of Binary Tree |
C++ |
Easy |
560 |
Subarray Sum Equals K |
C++ |
Medium |
561 |
Array Partition I |
C++ |
Easy |
566 |
Reshape the Matrix |
C++ |
Easy |
572 |
Subtree of Another Tree |
C++ |
Easy |
581 |
Shortest Unsorted Continuous Subarray |
C++ |
Easy |
605 |
Can Place Flowers |
C++ |
Easy |
617 |
Merge Two Binary Trees |
C++ |
Easy |
621 |
Task Scheduler |
C++ |
Medium |
628 |
Maximum Product of Three Numbers |
C++ |
Easy |
643 |
Maximum Average Subarray I |
C++ |
Easy |
647 |
Palindromic Substrings |
C++ |
Medium |
661 |
Image Smoother |
C++ |
Easy |
665 |
Non-decreasing Array |
C++ |
Easy |
714 |
Best Time to Buy and Sell Stock with Transaction Fee |
C++ |
Medium |
739 |
Daily Temperatures |
C++ |
Medium |
829 |
Consecutive Numbers Sum |
C++ |
Hard |
846 |
Hand of Straights |
C++ |
Medium |
905 |
Sort Array By Parity |
C++ |
Easy |
946 |
Validate Stack Sequences |
C++ |
Medium |
1155 |
Number of Dice Rolls With Target Sum |
C++ |
Medium |