347 |
Top K Frequent Elements |
C++ |
Medium |
345 |
Reverse Vowels of a String |
C++ |
Easy |
337 |
House Robber III |
C++ |
Medium |
334 |
Increasing Triplet Subsequence |
C++ |
Medium |
330 |
Patching Array |
C++ |
Medium |
329 |
Longest Increasing Path in a Matrix |
C++ |
Medium |
328 |
Odd Even Linked List |
C++ |
Easy |
327 |
Count of Range Sum |
C++ |
Hard |
326 |
Power of Three |
C++ |
Easy |
322 |
Coin Change |
C++ |
Medium |
321 |
Create Maximum Number |
C++ |
Hard |
319 |
Bulb Switcher |
C++ |
Medium |
315 |
Count of Smaller Numbers After Self |
C++ |
Hard |
312 |
Burst Balloons |
C++ |
Hard |
310 |
Minimum Height Trees |
C++ |
Medium |
307 |
Range Sum Query - Mutable |
C++ |
Medium |
306 |
Additive Number |
C++ |
Medium |
304 |
Range Sum Query 2D - Immutable |
C++ |
Medium |
303 |
Range Sum Query - Immutable |
C++ |
Easy |
301 |
Remove Invalid Parentheses |
C++ |
Hard |
300 |
Longest Increasing Subsequence |
C++ |
Medium |
299 |
Bulls and Cows |
C++ |
Easy |
297 |
Serialize and Deserialize Binary Tree |
C++ |
Medium |
295 |
Find Median from Data Stream |
C++ |
Hard |
292 |
Nim Game |
C++ |
Easy |
290 |
Word Pattern |
C++ |
Easy |
287 |
Find the Duplicate Number |
C++ |
Hard |
285 |
Inorder Successor in BST ♥ |
Java |
Medium |
284 |
Peeking Iterator |
C++ |
Medium |
283 |
Move Zeroes |
C++ |
Easy |
282 |
Expression Add Operators |
C++ |
Hard |
279 |
Perfect Squares |
C++ |
Medium |
278 |
First Bad Version |
C++, Java |
Easy |
275 |
H-Index II |
C++ |
Medium |
274 |
H-Index |
C++ |
Medium |
273 |
Integer to English Words |
C++ |
Medium |
268 |
Missing Number |
C++ |
Medium |
264 |
Ugly Number II |
C++ |
Medium |
263 |
Ugly Number |
C++ |
Easy |
260 |
Single Number III |
C++ |
Medium |
258 |
Add Digits |
C++ |
Easy |
257 |
Binary Tree Paths |
C++ |
Easy |
242 |
Valid Anagram |
C++ |
Easy |
241 |
Different Ways to Add Parentheses |
C++ |
Medium |
240 |
Search a 2D Matrix II |
C++ |
Medium |
239 |
Sliding Window Maximum |
C++ |
Hard |
238 |
Product of Array Except Self |
C++ |
Medium |
237 |
Delete Node in a Linked List |
C++ |
Easy |
236 |
Lowest Common Ancestor of a Binary Tree |
C++, Java |
Medium |
235 |
Lowest Common Ancestor of a Binary Search Tree |
C++ |
Easy |
234 |
Palindrome Linked List |
C++ |
Easy |
233 |
Number of Digit One |
C++ |
Medium |
232 |
Implement Queue using Stacks |
C++ |
Easy |
231 |
Power of Two |
C++ |
Easy |
230 |
Kth Smallest Element in a BST |
C++ |
Medium |
229 |
Majority Element II |
C++ |
Medium |
228 |
Summary Ranges |
C++ |
Easy |
227 |
Basic Calculator II |
C++ |
Medium |
226 |
Invert Binary Tree |
C++ |
Easy |
225 |
Implement Stack using Queues |
C++ |
Medium |
224 |
Basic Calculator |
C++ |
Medium |
223 |
Rectangle Area |
C++ |
Easy |
222 |
Count Complete Tree Nodes |
C++ |
Medium |
221 |
Maximal Square |
C++ |
Medium |
220 |
Contains Duplicate III |
C++ |
Medium |
219 |
Contains Duplicate II |
C++ |
Easy |
218 |
The Skyline Problem |
C++ |
Hard |
217 |
Contains Duplicate |
C++ |
Easy |
216 |
Combination Sum III |
C++ |
Medium |
215 |
Kth Largest Element in an Array |
C++ |
Medium |
214 |
Shortest Palindrome |
C++ |
Hard |
213 |
House Robber II |
C++ |
Medium |
212 |
Word Search II |
C++ |
Hard |
211 |
Add and Search Word - Data structure design |
C++ |
Medium |
210 |
Course Schedule II |
C++ |
Medium |
209 |
Minimum Size Subarray Sum |
C++ |
Medium |
208 |
Implement Trie (Prefix Tree) |
C++ |
Medium |
207 |
Course Schedule |
C++ |
Medium |
206 |
Reverse Linked List |
C++ |
Easy |
205 |
Isomorphic Strings |
C++ |
Easy |
204 |
Count Primes |
C++ |
Easy |
203 |
Remove Linked List Elements |
C++ |
Easy |
202 |
Happy Number |
C++ |
Easy |
201 |
Bitwise AND of Numbers Range |
C++ |
Medium |
200 |
Number of Islands |
C++ |
Medium |
199 |
Binary Tree Right Side View |
C++ |
Medium |
198 |
House Robber |
C++ |
Easy |
191 |
Number of 1 Bits |
C++ |
Easy |
190 |
Reverse Bits |
C++ |
Easy |
189 |
Rotate Array |
C++ |
Easy |
188 |
Best Time to Buy and Sell Stock IV |
C++ |
Hard |
187 |
Repeated DNA Sequences |
C++ |
Medium |
186 |
Reverse Words in a String II ♥ |
C++ |
Medium |
179 |
Largest Number |
C++ |
Medium |
174 |
Dungeon Game |
C++ |
Hard |
173 |
Binary Search Tree Iterator |
C++, Java |
Medium |
172 |
Factorial Trailing Zeroes |
C++ |
Easy |
171 |
Excel Sheet Column Number |
C++ |
Easy |
170 |
Two Sum III - Data structure design ♥ |
C++ |
Easy |
169 |
Majority Element |
C++ |
Easy |
168 |
Excel Sheet Column Title |
C++ |
Easy |
167 |
Two Sum II - Input array is sorted ♥ |
C++ |
Medium |
166 |
Fraction to Recurring Decimal |
C++ |
Medium |
165 |
Compare Version Numbers |
C++ |
Easy |
164 |
Maximum Gap |
C++ |
Hard |
163 |
Missing Ranges ♥ |
C++ |
Medium |
162 |
Find Peak Element |
C++, Java |
Medium |
161 |
One Edit Distance♥ |
C++ |
Medium |
160 |
Intersection of Two Linked Lists |
C++ |
Easy |
159 |
Longest Substring with At Most Two Distinct Characters ♥ |
C++ |
Hard |
158 |
Read N Characters Given Read4 II - Call multiple times ♥ |
C++ |
Hard |
157 |
Read N Characters Given Read4 ♥ |
C++ |
Easy |
156 |
Binary Tree Upside Down ♥ |
C++ |
Medium |
155 |
Min Stack |
C++ |
Easy |
154 |
Find Minimum in Rotated Sorted Array II |
C++ |
Hard |
153 |
Find Minimum in Rotated Sorted Array |
C++, Java |
Medium |
152 |
Maximum Product Subarray |
C++ |
Medium |
151 |
Reverse Words in a String |
C++ |
Medium |
150 |
Evaluate Reverse Polish Notation |
C++ |
Medium |
149 |
Max Points on a Line |
C++ |
Hard |
148 |
Sort List |
C++ |
Medium |
147 |
Insertion Sort List |
C++ |
Medium |
146 |
LRU Cache |
C++, Java |
Hard |
145 |
Binary Tree Postorder Traversal |
C++ |
Hard |
144 |
Binary Tree Preorder Traversal |
C++, Java |
Medium |
143 |
Reorder List |
C++ |
Medium |
142 |
Linked List Cycle II |
C++ |
Medium |
141 |
Linked List Cycle |
C++ |
Medium |
140 |
Word Break II |
C++ |
Hard |
139 |
Word Break |
C++ |
Medium |
138 |
Copy List with Random Pointer |
C++ |
Hard |
137 |
Single Number II |
C++ |
Medium |
136 |
Single Number |
C++ |
Medium |
135 |
Candy |
C++ |
Hard |
134 |
Gas Station |
C++ |
Medium |
133 |
Clone Graph |
C++ |
Medium |
132 |
Palindrome Partitioning II |
C++ |
Hard |
131 |
Palindrome Partitioning |
C++ |
Medium |
130 |
Surrounded Regions |
C++ |
Medium |
129 |
Sum Root to Leaf Numbers |
C++ |
Medium |
128 |
Longest Consecutive Sequence |
C++ |
Hard |
127 |
Word Ladder |
C++ |
Medium |
126 |
Word Ladder II |
C++ |
Hard |
125 |
Valid Palindrome |
C++ |
Easy |
124 |
Binary Tree Maximum Path Sum |
C++, Java |
Hard |
123 |
Best Time to Buy and Sell Stock III |
C++ |
Hard |
122 |
Best Time to Buy and Sell Stock II |
C++ |
Medium |
121 |
Best Time to Buy and Sell Stock |
C++ |
Medium |
120 |
Triangle |
C++, Java |
Medium |
119 |
Pascal's Triangle II |
C++ |
Easy |
118 |
Pascal's Triangle |
C++ |
Easy |
117 |
Populating Next Right Pointers in Each Node II |
C++ |
Hard |
116 |
Populating Next Right Pointers in Each Node |
C++ |
Medium |
115 |
Distinct Subsequences |
C++ |
Hard |
114 |
Flatten Binary Tree to Linked List |
C++ |
Medium |
113 |
Path Sum II |
C++ |
Medium |
112 |
Path Sum |
C++ |
Easy |
111 |
Minimum Depth of Binary Tree |
C++ |
Easy |
110 |
Balanced Binary Tree |
C++, Java |
Easy |
109 |
Convert Sorted List to Binary Search Tree |
C++ |
Medium |
108 |
Convert Sorted Array to Binary Search Tree |
C++ |
Medium |
107 |
Binary Tree Level Order Traversal II |
C++ |
Easy |
106 |
Construct Binary Tree from Inorder and Postorder Traversal |
C++ |
Medium |
105 |
Construct Binary Tree from Preorder and Inorder Traversal |
C++ |
Medium |
104 |
Maximum Depth of Binary Tree |
C++, Java |
Easy |
103 |
Binary Tree Zigzag Level Order Traversal |
C++ |
Medium |
102 |
Binary Tree Level Order Traversal |
C++, Java |
Easy |
101 |
Symmetric Tree |
C++ |
Easy |
100 |
Same Tree |
C++ |
Easy |
99 |
Recover Binary Search Tree |
C++ |
Hard |
98 |
Validate Binary Search Tree |
C++, Java |
Medium |
97 |
Interleaving String |
C++ |
Hard |
96 |
Unique Binary Search Trees |
C++ |
Medium |
95 |
Unique Binary Search Trees II |
C++ |
Medium |
94 |
Binary Tree Inorder Traversal |
C++ |
Medium |
93 |
Restore IP Addresses |
C++ |
Medium |
92 |
Reverse Linked List II |
C++ |
Medium |
91 |
Decode Ways |
C++ |
Medium |
90 |
Subsets II |
C++, Java |
Medium |
89 |
Gray Code |
C++ |
Medium |
88 |
Merge Sorted Array |
C++ |
Easy |
87 |
Scramble String |
C++ |
Hard |
86 |
Partition List |
C++ |
Medium |
85 |
Maximal Rectangle |
C++ |
Hard |
84 |
Largest Rectangle in Histogram |
C++ |
Hard |
83 |
Remove Duplicates from Sorted List |
C++ |
Easy |
82 |
Remove Duplicates from Sorted List II |
C++ |
Medium |
81 |
Search in Rotated Sorted Array II |
C++ |
Medium |
80 |
Remove Duplicates from Sorted Array II |
C++ |
Medium |
79 |
Word Search |
C++ |
Medium |
78 |
Subsets |
C++, Java |
Medium |
77 |
Combinations |
C++ |
Medium |
76 |
Minimum Window Substring |
C++ |
Hard |
75 |
Sort Colors |
C++ |
Medium |
74 |
Search a 2D Matrix |
C++, Java |
Medium |
73 |
Set Matrix Zeroes |
C++ |
Medium |
72 |
Edit Distance |
C++ |
Hard |
71 |
Simplify Path |
C++ |
Medium |
70 |
Climbing Stairs |
C++, Java |
Easy |
69 |
Sqrt(x) |
C++ |
Medium |
68 |
Text Justification |
C++ |
Hard |
67 |
Add Binary |
C++ |
Easy |
66 |
Plus One |
C++ |
Easy |
65 |
Valid Number |
C++ |
Easy |
64 |
Minimum Path Sum |
C++, Java |
Medium |
63 |
Unique Paths II |
C++, Java |
Medium |
62 |
Unique Paths |
C++, Java |
Medium |
61 |
Rotate List |
C++ |
Medium |
60 |
Permutation Sequence |
C++ |
Medium |
59 |
Spiral Matrix II |
C++ |
Medium |
58 |
Length of Last Word |
C++ |
Easy |
57 |
Insert Interval |
C++ |
Hard |
56 |
Merge Intervals |
C++ |
Hard |
55 |
Jump Game |
C++ |
Medium |
54 |
Spiral Matrix |
C++ |
Medium |
53 |
Maximum Subarray |
C++ |
Medium |
52 |
N-Queens II |
C++ |
Hard |
51 |
N-Queens |
C++ |
Hard |
50 |
"Pow(x, n)" |
C++ |
Medium |
49 |
Group Anagrams |
C++ |
Medium |
48 |
Rotate Image |
C++ |
Medium |
47 |
Permutations II |
C++ |
Hard |
46 |
Permutations |
C++ |
Medium |
45 |
Jump Game II |
C++ |
Hard |
44 |
Wildcard Matching |
C++ |
Hard |
43 |
Multiply Strings |
C++ |
Medium |
42 |
Trapping Rain Water |
C++ |
Hard |
41 |
First Missing Positive |
C++ |
Hard |
40 |
Combination Sum II |
C++ |
Medium |
39 |
Combination Sum |
C++ |
Medium |
38 |
Count and Say |
C++ |
Easy |
37 |
Sudoku Solver |
C++ |
Hard |
36 |
Valid Sudoku |
C++ |
Easy |
35 |
Search Insert Position |
C++, Java |
Medium |
34 |
Search for a Range |
C++, Java |
Medium |
33 |
Search in Rotated Sorted Array |
C++, Java |
Hard |
32 |
Longest Valid Parentheses |
C++ |
Hard |
31 |
Next Permutation |
C++ |
Medium |
30 |
Substring with Concatenation of All Words |
C++ |
Hard |
29 |
Divide Two Integers |
C++ |
Medium |
28 |
Implement strStr() |
C++, Java |
Easy |
27 |
Remove Element |
C++ |
Easy |
26 |
Remove Duplicates from Sorted Array |
C++ |
Easy |
25 |
Reverse Nodes in k-Group |
C++ |
Hard |
24 |
Swap Nodes in Pairs |
C++ |
Medium |
23 |
Merge k Sorted Lists |
C++ |
Hard |
22 |
Generate Parentheses |
C++ |
Medium |
21 |
Merge Two Sorted Lists |
C++ |
Easy |
20 |
Valid Parentheses |
C++ |
Easy |
19 |
Remove Nth Node From End of List |
C++ |
Easy |
18 |
4Sum |
C++ |
Medium |
17 |
Letter Combinations of a Phone Number |
C++ |
Medium |
16 |
3Sum Closest |
C++ |
Medium |
15 |
3Sum |
C++ |
Medium |
14 |
Longest Common Prefix |
C++ |
Easy |
13 |
Roman to Integer |
C++ |
Easy |
12 |
Integer to Roman |
C++ |
Medium |
11 |
Container With Most Water |
C++ |
Medium |
10 |
Regular Expression Matching |
C++ |
Hard |
9 |
Palindrome Number |
C++ |
Easy |
8 |
String to Integer (atoi) |
C++ |
Easy |
7 |
Reverse Integer |
C++ |
Easy |
6 |
ZigZag Conversion |
C++ |
Easy |
5 |
Longest Palindromic Substring |
C++ |
Medium |
4 |
Median of Two Sorted Arrays |
C++ |
Hard |
3 |
Longest Substring Without Repeating Characters |
C++ |
Medium |
2 |
Add Two Numbers |
C++ |
Medium |
1 |
Two Sum |
C++ |
Medium |