515 |
Find Largest Value in Each Tree Row |
Solution |
O(n) |
O(k) |
Medium |
BFS |
|
513 |
Find Bottom Left Tree Value |
Solution |
O(n) |
O(k) |
Medium |
BFS |
|
506 |
Relative Ranks |
Solution |
O(nlogn) |
O(n) |
Easy |
|
|
504 |
Base 7 |
Solution |
O(1) |
O(1) |
Easy |
|
|
501 |
Find Mode in Binary Tree |
Solution |
O(n) |
O(k) |
Easy |
Binary Tree |
|
500 |
Keyboard Row |
Solution |
O(n) |
O(1) |
Easy |
|
|
492 |
Construct the Rectangle |
Solution |
O(n) |
O(1) |
Easy |
Array |
|
485 |
Max Consecutive Ones |
Solution |
O(n) |
O(1) |
Easy |
Array |
|
477 |
Total Hamming Distance |
Solution |
O(n) |
O(1) |
Medium |
Bit Manipulation |
|
476 |
Number Complement |
Solution |
O(n) |
O(1) |
Easy |
Bit Manipulation |
|
474 |
Ones and Zeroes |
Solution |
O(n) |
O(m*n) |
Medium |
DP |
|
472 |
Concatenated Words |
Solution |
O(n^2) |
O(n) |
Hard |
Trie, DP, DFS |
|
467 |
Unique Substrings in Wraparound String |
Solution |
O(n) |
O(1) |
Medium |
DP |
|
463 |
Island Perimeter |
Solution |
O(m*n) |
O(1) |
Easy |
|
|
462 |
Minimum Moves to Equal Array Elements II |
Solution |
O(nlogn) |
O(1) |
Medium |
|
|
461 |
Hamming Distance |
Solution |
O(n) |
O(1) |
Easy |
|
|
459 |
Repeated Substring Pattern |
Solution |
O(n) |
O(n) |
Easy |
KMP |
|
456 |
132 Pattern |
Solution |
O(n) |
O(n) |
Medium |
Stack |
|
455 |
Assign Cookies |
Solution |
O(n) |
O(1) |
Easy |
|
|
454 |
4Sum II |
Solution |
O(n) |
O(n) |
Medium |
HashMap |
|
453 |
Minimum Moves to Equal Array Elements |
Solution |
O(n) |
O(1) |
Easy |
|
|
451 |
Sort Characters By Frequency |
Solution |
O(nlogn) |
O(n) |
Medium |
HashMap |
|
448 |
Find All Numbers Disappeared in an Array |
Solution |
O(n) |
O(1) |
Easy |
Array, HashMap |
|
447 |
Number of Boomerangs |
Solution |
O(n^2) |
O(n) |
Easy |
HashMap |
|
442 |
Find All Duplicates in an Array |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
441 |
Arranging Coins |
Solution |
O(n) |
O(1) |
Easy |
|
|
438 |
Find All Anagrams in a String |
Solution |
O(n) |
O(1) |
Easy |
|
|
436 |
Find Right Interval |
Solution |
O(nlogn) |
O(n) |
Medium |
Binary Search |
|
435 |
Non-overlapping Intervals |
Solution |
O(nlogn) |
O(1) |
Medium |
Greedy |
|
434 |
Number of Segments in a String |
Solution |
O(n) |
O(1) |
Easy |
|
|
420 |
Strong Password Checker |
Solution |
? |
? |
Hard |
|
|
419 |
Battleships in a Board |
Solution |
O(n^2) |
O(1) |
Medium |
DFS |
|
417 |
Pacific Atlantic Water Flow |
Solution |
O(mnMax(m,n)) |
O(m*n) |
Medium |
DFS |
|
415 |
Add Strings |
Solution |
O(n) |
O(1) |
Easy |
|
|
414 |
Third Maximum Number |
Solution |
O(n) |
O(1) |
Easy |
|
|
413 |
Arithmetic Slices |
Solution |
O(n) |
O(1) |
Medium |
DP |
|
412 |
Fizz Buzz |
Solution |
O(n) |
O(1) |
Easy |
|
|
408 |
Valid Word Abbreviation |
Solution |
O(n) |
O(1) |
Easy |
|
|
404 |
Sum of Left Leaves |
Solution |
O(n) |
O(h) |
Easy |
|
|
398 |
Random Pick Index |
Solution |
|
|
Medium |
Reservoir Sampling |
|
397 |
Integer Replacement |
Solution |
? |
? |
Easy |
BFS |
|
396 |
Rotate Function |
Solution |
O(n^2) could be optimized to O(n) |
O(1) |
Easy |
|
|
390 |
Elimination Game |
Solution |
O(logn) |
O(1) |
Medium |
|
|
389 |
Find the Difference |
Solution |
O(n) |
O(1) |
Easy |
|
|
388 |
Longest Absolute File Path |
Solution |
O(n) |
O(d) |
Medium |
Stack |
|
387 |
First Unique Character in a String |
Solution |
O(n) |
O(n) |
Easy |
HashMap |
|
386 |
Lexicographical Numbers |
Solution |
O(n) |
O(1) |
Medium |
|
|
385 |
Mini Parser |
Solution |
O(n) |
O(h) |
Medium |
Stack |
|
379 |
Design Phone Directory |
Solution |
O(1) |
O(n) |
Medium |
|
|
377 |
Combination Sum IV |
Solution |
O(?) |
O(?) |
Medium |
|
|
375 |
Guess Number Higher or Lower II |
Solution |
O(n^2) |
O(n^2) |
Medium |
DP |
|
374 |
Guess Number Higher or Lower |
Solution |
O(logn) |
O(1) |
Easy |
Binary Search |
|
373 |
Find K Pairs with Smallest Sums |
Solution |
O(?) |
O(?) |
Medium |
Heap |
|
372 |
Super Pow |
Solution |
O(n) |
O(1) |
Medium |
Math |
|
371 |
Sum of Two Integers |
Solution |
O(n) |
O(1) |
Easy |
|
|
370 |
Range Addition |
Solution |
O(n+k) |
O(1) |
Medium |
|
|
369 |
Plus One Linked List |
Solution |
O(n) |
O(1) |
Medium |
Linked List |
|
367 |
Valid Perfect Square |
Solution |
O(n) |
O(1) |
Medium |
|
|
366 |
Find Leaves of Binary Tree |
Solution |
O(n) |
O(h) |
Medium |
DFS |
|
365 |
Water and Jug Problem |
Solution |
O(n) |
O(1) |
Medium |
|
|
364 |
Nested List Weight Sum II |
Solution |
O(n) |
O(h) |
Medium |
DFS |
|
362 |
Design Hit Counter |
Solution |
O(1) amortized |
O(k) |
Medium |
Design |
|
361 |
Bomb Enemy |
Solution |
O(?) |
O(?) |
Medium |
|
|
359 |
Logger Rate Limiter |
Solution |
amortized O(1) |
O(k) |
Easy |
HashMap |
|
357 |
Count Numbers with Unique Digits |
Solution |
O(?) |
O(?) |
Medium |
|
|
353 |
Design Snake Game |
Solution |
O(?) |
O(?) |
Medium |
|
|
351 |
Android Unlock Patterns |
Solution |
O(?) |
O(?) |
Medium |
|
|
350 |
Intersection of Two Arrays II |
Solution |
O(m+n) |
O((m+n)) could be optimized |
Easy |
HashMap, Binary Search |
|
349 |
Intersection of Two Arrays |
Solution |
O(m+n) |
O(min(m,n)) |
Easy |
Two Pointers, Binary Search |
|
348 |
Design Tic-Tac-Toe |
Solution |
O(?) |
O(?) |
Medium |
|
|
346 |
Moving Average from Data Stream |
Solution |
O(1) |
O(w)) |
Easy |
Queue |
|
339 |
Nested List Weight Sum |
Solution |
O(n) |
O(h)) |
Easy |
DFS |
|
338 |
Counting Bits |
Solution |
O(nlogn) |
O(h) |
Medium |
|
|
336 |
Palindrome Pairs |
Solution |
O(n^2) |
O(n) |
Hard |
|
|
334 |
Increasing Triplet Subsequence |
Solution |
O(n^2) |
O(1) |
Medium |
|
|
333 |
Largest BST Subtree |
Solution |
O(n) |
O(n) |
Medium |
|
|
329 |
Longest Increasing Path in a Matrix |
Solution |
O(?) |
O(?) |
Hard |
|
|
327 |
Count of Range Sum |
Solution |
O(?) |
O(?) |
Hard |
|
|
325 |
Maximum Size Subarray Sum Equals k |
[Solution] |
O(n) |
O(n) |
Medium |
HashMap |
|
323 |
Number of Connected Components in an Undirected Graph |
Solution |
O(?) |
O(?) |
Medium |
|
|
322 |
Coin Change |
Solution |
O(?) |
O(?) |
Medium |
|
|
321 |
Create Maximum Number |
Solution |
O(?) |
O(?) |
Hard |
|
|
320 |
Generalized Abbreviation |
Solution |
O(n*2^n) |
O(n) |
Medium |
Backtracking, Bit Manipulation |
|
317 |
Shortest Distance from All Buildings |
Solution |
O(?) |
O(?) |
Hard |
|
|
315 |
Count of Smaller Numbers After Self |
Solution |
O(?) |
O(?) |
Hard |
Tree |
|
314 |
Binary Tree Vertical Order Traversal |
Solution |
O(n) |
O(n) |
Medium |
HashMap, BFS |
|
313 |
Super Ugly Number |
Solution |
O(?) |
O(?) |
Medium |
|
|
312 |
Burst Balloons |
Solution |
O(?) |
O(?) |
Hard |
DP |
|
311 |
Sparse Matrix Multiplication |
Solution |
O(mnl) |
O(m*l) |
Medium |
|
|
310 |
Minimum Height Trees |
Solution |
? |
? |
Medium |
|
|
309 |
Best Time to Buy and Sell Stock with Cooldown |
Solution |
O(n) |
O(1) |
Medium |
DP |
|
308 |
Range Sum Query 2D - Mutable |
Solution |
? |
? |
Hard |
Tree |
|
307 |
Range Sum Query - Mutable |
Solution |
? |
? |
Medium |
Tree |
|
306 |
Additive Number |
Solution |
? |
? |
Medium |
|
|
305 |
Number of Islands II |
Solution |
? |
? |
Hard |
Union Find |
|
304 |
Range Sum Query 2D - Immutable |
Solution |
? |
? |
Medium |
|
|
303 |
Range Sum Query - Immutable |
Solution |
O(n) |
O(1) |
Easy |
|
|
302 |
Smallest Rectangle Enclosing Black Pixels |
Solution |
? |
O(m*n) |
Hard |
DFS, BFS |
|
301 |
Remove Invalid Parentheses |
Solution |
? |
? |
Hard |
BFS |
|
299 |
Bulls and Cows |
Solution |
O(n) |
O(1) |
Easy |
|
|
298 |
Binary Tree Longest Consecutive Sequence |
Solution |
O(n) |
O(n) |
Medium |
Tree |
|
297 |
Serialize and Deserialize Binary Tree |
Solution |
? |
? |
Hard |
|
|
296 |
Best Meeting Point |
Solution |
? |
? |
Hard |
|
|
295 |
Find Median from Data Stream |
Solution |
O(nlogn) |
O(n) |
Hard |
Heap |
|
294 |
Flip Game II |
Solution |
? |
? |
Medium |
Backtracking |
|
293 |
Flip Game |
Solution |
O(n) |
O(1) |
Easy |
|
|
292 |
Nim Game |
Solution |
O(1) |
O(1) |
Easy |
|
|
291 |
Word Pattern II |
Solution |
O(n) |
O(n) |
Hard |
|
|
290 |
Word Pattern |
Solution |
O(n) |
O(n) |
Easy |
|
|
289 |
Game of Life |
Solution |
O(m*n) |
O(m*n), could be optimized to O(1) |
Medium |
|
|
288 |
Unique Word Abbreviation |
Solution |
O(n) |
O(1) |
Easy |
|
|
286 |
Walls and Gates |
Solution |
O(m*n) |
O(g) |
Medium |
BFS |
|
285 |
Inorder Successor In BST |
Solution |
O(h) |
O(1) |
Medium |
|
|
283 |
Move Zeroes |
Solution |
O(n) |
O(1) |
Easy |
|
|
282 |
Expression Add Operators |
Solution |
O(?) |
O(?) |
Hard |
|
|
281 |
Zigzag Iterator |
Solution |
O(n) |
O(n) |
Medium |
|
|
280 |
Wiggle Sort |
Solution |
O(n) |
O(1) |
Medium |
|
|
279 |
Perfect Squares |
Solution |
O(n) |
O(1) |
Medium |
|
|
278 |
First Bad Version |
Solution |
O(logn) |
O(1) |
Easy |
Binary Search |
|
277 |
Find the Celebrity |
Solution |
O(n) |
O(1) |
Medium |
|
|
276 |
Paint Fence |
Solution |
O(n) |
O(1) |
Easy |
DP |
|
274 |
H-Index |
Solution |
O(nlogn) |
O(1) |
Medium |
|
|
273 |
Integer to English Words |
Solution |
O(n) |
O(1) |
Hard |
|
|
272 |
Closest Binary Search Tree Value II |
Solution |
O(h+k) |
O(h) |
Hard |
Stack |
|
271 |
Encode and Decode Strings |
Solution |
O(n) |
O(1) |
Medium |
|
|
270 |
Closest Binary Search Tree Value |
Solution |
O(h) |
O(1) |
Easy |
DFS |
|
268 |
Missing Number |
Solution |
O(n) |
O(1) |
Easy |
HashMap |
|
267 |
Palindrome Permutation II |
Solution |
O(n*n!) |
O(n) |
Medium |
|
|
266 |
Palindrome Permutation |
Solution |
O(n) |
O(1) |
Easy |
|
|
265 |
Paint House II |
Solution |
? |
? |
Hard |
|
|
263 |
Ugly Number |
Solution |
O(n) |
O(1) |
Easy |
|
|
261 |
Graph Valid Tree |
Solution |
O(V+E) |
O(V+E) |
Medium |
|
|
259 |
3Sum Smaller |
Solution |
O(n^2) |
O(1) |
Medium |
|
|
258 |
Add Digits |
Solution |
O(1) |
O(1) |
Easy |
|
|
257 |
Binary Tree Paths |
Solution |
O(n*h) |
O(h) |
DFS/Recursion |
|
|
256 |
Paint House |
Solution |
O(n) |
O(1) |
Medium |
DP |
|
255 |
Verify Preorder Sequence in Binary Search Tree |
Solution |
O(n) |
O(h) |
Medium |
Tree |
|
254 |
Factor Combinations |
Solution |
O(nlogn) |
O(nlogn) |
Medium |
Backtracking |
|
253 |
Meeting Rooms II |
Solution |
O(nlogn) |
O(h) |
Medium |
Heap |
|
252 |
Meeting Rooms |
Solution |
O(nlogn) |
O(1) |
Easy |
|
|
251 |
Flatten 2D Vector |
Solution |
O(1) |
O(m*n) |
Medium |
|
|
250 |
Count Univalue Subtrees |
Solution |
O(n) |
O(h) |
Medium |
DFS |
|
249 |
Group Shifted Strings |
Solution |
O(nlogn) |
O(n) |
|
|
|
248 |
Strobogrammatic Number III |
Solution |
O(?) |
O(?) |
Hard |
|
|
247 |
Strobogrammatic Number II |
Solution |
O(n^2) |
O(n) |
Medium |
Recursion |
|
246 |
Strobogrammatic Number |
Solution |
O(n) |
O(1) |
Easy |
|
|
245 |
Shortest Word Distance III |
Solution |
O(n) |
O(1) |
Medium |
|
|
244 |
Shortest Word Distance II |
Solution |
O(n) |
O(n) |
Medium |
HashMap |
|
243 |
Shortest Word Distance |
Solution |
O(n) |
O(1) |
|
|
|
240 |
Search a 2D Matrix II |
Solution |
O(log(m*n)) |
O(1) |
Medium |
Binary Search |
|
239 |
Sliding Window Maximum |
Solution |
O(nlogn) |
O(k) |
Hard |
Heap |
|
238 |
Product of Array Except Self |
Solution |
O(?) |
O(?) |
Medium |
|
|
237 |
Delete Node in a Linked List |
Solution |
O(1) |
O(1) |
Easy |
LinkedList |
|
235 |
Lowest Common Ancestor of a Binary Tree |
Solution |
O(h) |
O(1) |
Medium |
DFS |
|
235 |
Lowest Common Ancestor of a Binary Search Tree |
Solution |
O(h) |
O(1) |
Easy |
DFS |
|
233 |
Number of Digit One |
Solution |
O(n) |
O(1) |
Hard |
Math |
|
229 |
Majority Element II |
Solution |
O(n) |
O(n) |
Medium |
|
|
228 |
Summary Ranges |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
226 |
Invert Binary Tree |
Solution |
O(n) |
O(h) |
Easy |
DFS, recursion |
|
225 |
Implement Stack using Queues |
Solution |
O(n) |
O(n) |
Easy |
Stack, Queue |
|
224 |
Basic Calculator |
Solution |
? |
? |
Hard |
|
|
223 |
Rectangle Area |
Solution |
O(1) |
O(1) |
Easy |
|
|
222 |
Count Complete Tree Nodes |
Solution |
O(?) |
O(h) |
Medium |
|
|
220 |
Contains Duplicate III |
Solution |
O(nlogn) |
O(n) |
Medium |
TreeSet |
|
219 |
Contains Duplicate II |
Solution |
O(n) |
O(n) |
Easy |
HashMap |
|
217 |
Contains Duplicate |
Solution |
O(n) |
O(n) |
Easy |
HashSet |
|
212 |
Word Search II |
Solution |
O(mnl) |
O(l) |
Hard |
Trie |
|
211 |
Add and Search Word - Data structure design |
Solution |
O(n) |
O(h) |
Medium |
Trie |
|
210 |
Course Schedule II |
Solution |
O(?) |
O(?) |
Medium |
|
|
209 |
Minimum Size Subarray Sum |
Solution |
O(n) |
O(1) |
Medium |
|
|
208 |
Implement Trie |
Solution |
O(n) |
O(1) |
Medium |
|
|
207 |
Course Schedule |
Solution |
O(?) |
O(?) |
Medium |
|
|
206 |
Reverse Linked List |
Solution |
O(n) |
O(1) |
Easy |
|
|
205 |
Isomorphic Strings |
Solution |
O(n) |
O(1) |
Easy |
|
|
204 |
Count Primes |
Solution |
O(?) |
O(?) |
Easy |
|
|
202 |
Happy Number |
Solution |
O(k) |
O(k) |
Easy |
|
|
200 |
Number of Islands |
Union Find DFS |
O(m*n) |
O(m*n) |
Medium |
Union Find, DFS |
|
198 |
House Robber |
Solution |
O(n) |
O(n) |
Easy |
DP |
|
190 |
Reverse Bits |
Solution |
O(n) |
O(1) |
Easy |
Bit Manipulation |
|
189 |
Rotate Array |
Solution |
O(n) |
O(n), could be optimized to O(1) |
Easy |
|
|
186 |
Reverse Words in a String II |
Solution |
O(n) |
O(1) |
Medium |
|
|
179 |
Largest Number |
Queue Stack |
O(?) |
O(?) |
Medium |
|
|
174 |
Dungeon Game |
Queue Stack |
O(?) |
O(?) |
Hard |
|
|
173 |
Binary Search Tree Iterator |
Queue Stack |
O(1) |
O(h) |
Medium |
|
|
172 |
Factorial Trailing Zeroes |
Solution |
O(logn) |
O(1) |
Easy |
|
|
171 |
Excel Sheet Column Number |
Solution |
O(n) |
O(1) |
Easy |
|
|
170 |
Two Sum III - Data structure design |
Solution |
O(n) |
O(n) |
Easy |
|
|
169 |
Majority Element |
Solution |
O(n) |
O(1) |
Easy |
|
|
168 |
Excel Sheet Column Title |
Solution |
O(n) |
O(1) |
Easy |
|
|
165 |
Compare Version Numbers |
Solution |
O(n) |
O(1) |
Easy |
|
|
164 |
Maximum Gap |
Solution |
O(?) |
O(?) |
Hard |
|
|
163 |
Missing Ranges |
Solution |
O(n) |
O(1) |
|
|
|
162 |
Find Peak Element |
Solution |
O(1) |
O(logn)/O(n) |
Binary Search |
|
|
161 |
One Edit Distance |
Solution |
O(n) |
O(1) |
|
|
|
160 |
Intersection of Two Linked Lists |
Solution |
O(m+n) |
O(1) |
Easy |
Linked List |
|
159 |
Longest Substring with At Most Two Distinct Characters |
Solution |
O(n) |
O(1) |
Hard |
String, Sliding Window |
|
158 |
Read N Characters Given Read4 II - Call multiple times |
Solution |
O(n) |
O(1) |
Hard |
|
|
157 |
Read N Characters Given Read4 |
Solution |
O(n) |
O(1) |
Easy |
|
|
156 |
Binary Tree Upside Down |
Solution |
O(n) |
O(h) |
Medium |
Tree, Recursion |
|
155 |
Min Stack |
Solution |
O(1) |
O(n) |
Easy |
Stack |
|
152 |
Maximum Product Subarray |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
151 |
Reverse Words in a String |
Solution |
O(n) |
O(n) |
Medium |
|
|
150 |
Evaluate Reverse Polish Notation |
Solution |
O(?) |
O(?) |
Medium |
|
|
149 |
Max Points on a Line |
Solution |
O(?) |
O(?) |
Hard |
|
|
147 |
Insertion Sort List |
Solution O(n^2) |
O(1) |
Medium |
Linked List |
|
|
146 |
LRU Cache |
Doubly Linked List |
Linked Hash Map |
O(?) |
O(?) |
Hard |
Linked List |
145 |
Binary Tree Postorder Traversal |
Solution |
O(n) |
O(h) |
Hard |
Binary Tree |
|
144 |
Binary Tree Preorder Traversal |
Solution |
O(n) |
O(h) |
Medium |
Binary Tree |
|
143 |
Reorder List |
Solution |
O(n) |
O(1) |
Medium |
|
|
142 |
Linked List Cycle II |
Solution |
O(n) |
O(1) |
Medium |
Linked List |
|
141 |
Linked List Cycle |
Solution |
O(n) |
O(1) |
Easy |
Linked List |
|
140 |
Word Break II |
Solution |
? |
O(n^2) |
Hard |
Backtracking/DFS |
|
139 |
Word Break |
Solution |
O(n^2) |
O(n) |
Medium |
DP |
|
138 |
Copy List with Random Pointer |
Solution |
O(?) |
O(?) |
Medium |
|
|
137 |
Single Number II |
Solution |
O(n) |
O(n) |
Medium |
|
|
135 |
Candy |
Solution |
O(n) |
O(1) |
Hard |
Greedy |
|
133 |
Clone Graph |
Solution |
O(n) |
O(n) |
Medium |
HashMap, BFS, Graph |
|
132 |
Implement Queue using Stacks |
Solution |
O(n) |
O(n) |
Easy |
Stack, Queue |
|
130 |
Surrounded Regions |
Solution |
O(?) |
O(?) |
Medium |
|
|
129 |
Sum Root to Leaf Numbers |
Solution |
O(n) |
O(h) |
Medium |
DFS |
|
125 |
Valid Palindrome |
Solution |
O(n) |
O(1) |
Easy |
Two Pointers |
|
124 |
Binary Tree Maximum Path Sum |
Solution |
O(n) |
O(h) |
Hard |
Tree |
|
123 |
Best Time to Buy and Sell Stock III |
Solution |
O(?) |
O(?) |
Hard |
|
|
122 |
Best Time to Buy and Sell Stock II |
Solution |
O(n) |
O(1) |
Medium |
Greedy |
|
121 |
Best Time to Buy and Sell Stock |
Solution |
O(n) |
O(1) |
Easy |
DP |
|
120 |
Triangle |
Solution |
O(m*n) |
O(n) |
Medium |
DP |
|
119 |
Pascal's Triangle II |
Solution |
O(n^2) |
O(1) |
Easy |
|
|
118 |
Pascal's Triangle |
Solution |
O(n^2) |
O(1) |
Easy |
|
|
117 |
Populating Next Right Pointers in Each Node II |
Solution |
O(n) |
O(1) |
Hard |
BFS |
|
116 |
Populating Next Right Pointers in Each Node |
Solution |
O(n) |
O(1) |
Medium |
BFS |
|
115 |
Distinct Subsequences |
Solution |
O(m*n) |
O(m*n) |
Hard |
DP |
|
114 |
Flatten Binary Tree to Linked List |
Solution |
O(n) |
O(h) |
Medium |
Tree |
|
112 |
Path Sum |
Solution |
O(n) |
O(1) |
Easy |
DFS |
|
111 |
Minimum Depth of Binary Tree |
Solution |
O(n) |
O(1)~O(h) |
Easy |
BFS, DFS |
|
110 |
Balanced Binary Tree |
Solution |
O(n) |
O(1)~O(h) |
Easy |
DFS |
|
109 |
Convert Sorted List to Binary Search Tree |
Solution |
O(n) |
O(h) |
Medium |
DFS, Recursion |
|
108 |
Convert Sorted Array to Binary Search Tree |
Solution |
O(n) |
O(h) |
Medium |
Tree |
|
107 |
Binary Tree Level Order Traversal II |
Solution |
O(nlogn) |
O(h) |
Easy |
BFS |
|
105 |
Construct Binary Tree from Preorder and Inorder Traversal |
Solution |
O(?) |
O(?) |
Medium |
|
|
104 |
Maximum Depth of Binary Tree |
Solution |
O(n) |
O(h) |
Easy |
DFS |
|
103 |
Binary Tree Zigzag Level Order Traversal |
Solution |
O(n) |
O(h) |
Medium |
BFS,DFS |
|
102 |
Binary Tree Level Order Traversal |
Solution |
O(n) |
O(h) |
Easy |
BFS |
|
99 |
Recover Binary Search Tree |
Solution |
O(?) |
O(?) |
Hard |
|
|
98 |
Validate Binary Search Tree |
Solution |
O(n) |
O(h) |
Medium |
DFS/Recursion |
|
97 |
Interleaving String |
Solution |
O(?) |
O(?) |
Hard |
DP |
|
96 |
Unique Binary Search Trees |
Solution |
O(n^2) |
O(n) |
Medium |
Recursion, DP |
|
95 |
Unique Binary Search Trees II |
Solution |
O(?) |
O(?) |
Medium |
Recursion |
|
94 |
Binary Tree Inorder Traversal |
Solution |
O(n) |
O(h) |
Medium |
Binary Tree |
|
92 |
Reverse Linked List II |
Solution |
O(n) |
O(1) |
Medium |
|
|
91 |
Decode Ways |
Solution |
O(n) |
O(n) |
Medium |
DP |
|
89 |
Gray Code |
Solution |
O(n) |
O(1) |
Medium |
Bit Manipulation |
|
86 |
Partition List |
Solution |
O(?) |
O(?) |
Medium |
|
|
85 |
Maximal Rectangle |
Solution |
O(m*n) |
O(n) |
Hard |
DP |
|
81 |
Search in Rotated Sorted Array II |
Solution |
O(logn) |
O(1) |
Medium |
Binary Search |
|
80 |
Remove Duplicates from Sorted Array II |
Solution |
O(n) |
O(n) |
Medium |
|
|
79 |
Word Search |
Solution |
O(mnl) ? |
O(m*n) |
Medium |
Backtracking/DFS |
|
78 |
Subsets |
Solution |
O(n^2) ? |
O(1) |
Medium |
Backtracking |
|
76 |
Minimum Window Substring |
Solution |
O(n) |
O(k) |
Hard |
Two Pointers |
|
75 |
Sort Colors |
Solution |
O(n) |
O(1) |
Medium |
Two Pointers |
|
73 |
Set Matrix Zeroes |
Solution |
O(mn) |
O(mn) |
Medium |
|
|
72 |
Edit Distance |
Solution |
O(m*n) |
O(m+n) |
Hard |
|
|
70 |
Climbing Stairs |
Solution |
O(n) |
O(n) |
Easy |
DP |
|
69 |
Sqrt(x) |
Solution |
O(logn) |
O(1) |
Easy |
|
|
68 |
Text Justification |
Solution |
O(n) |
O(1) |
Hard |
|
|
67 |
Add Binary |
Solution |
O(n) |
O(1) |
Easy |
|
|
66 |
Plus One |
Solution |
O(n) |
O(1) |
Easy |
|
|
65 |
Valid Number |
Solution |
O(n) |
O(1) |
Hard |
|
|
64 |
Minimum Path Sum |
Solution |
O(m*n) |
O(m*n) |
Medium |
DP |
|
63 |
Unique Paths II |
Solution |
O(m*n) |
O(m*n) |
Medium |
DP |
|
60 |
Permutation Sequence |
Solution |
? |
? |
Medium |
|
|
59 |
Spiral Matrix II |
Solution |
O(n) |
O(n) |
Medium |
|
|
58 |
Length of Last Word |
Solution |
O(n) |
O(1) |
Easy |
|
|
56 |
Merge Intervals |
Solution |
O(n*logn) |
O(1) |
Hard |
|
|
55 |
Jump Game |
Solution |
O(n) |
O(1) |
Medium |
|
|
54 |
Spiral Matrix |
Solution |
O(m*n) |
O(m*n) |
Medium |
|
|
53 |
Maximum Subarray |
Solution |
O(n) |
O(1) |
Medium |
|
|
50 |
Pow(x, n) |
Solution |
O(logn) |
O(logn) |
Medium |
|
|
47 |
Permutations II |
Solution |
O(n*n!) |
O(n) |
Medium |
Backtracking |
|
46 |
Permutations |
Solution |
O(n*n!) |
O(n) |
Medium |
Backtracking |
|
45 |
Jump Game II |
Solution |
O(?) |
O(?) |
Hard |
|
|
42 |
Trapping Rain Water |
Solution |
O(n) |
O(1) |
Hard |
|
|
41 |
First Missing Positive |
Solution |
O(n) |
O(1) |
Hard |
|
|
40 |
Combination Sum II |
Solution |
O(k*n^k) |
O(k) |
Medium |
Backtracking |
|
39 |
Combination Sum |
Solution |
O(k*n^k) |
O(k) |
Medium |
Backtracking |
|
38 |
Count and Say |
Solution |
O(n*2^n) |
O(2^n) |
Easy |
Recursion, LinkedList |
|
37 |
Sudoku Solver |
Solution |
O((9!)^9) |
O(1) |
Hard |
|
|
36 |
Valid Sudoku |
Solution |
O(?) |
O(?) |
Medium |
|
|
35 |
Search Insert Position |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
34 |
Search for a Range |
Solution |
O(logn) |
O(1) |
Medium |
Array, Binary Search |
|
33 |
Search in Rotated Sorted Array |
Solution |
O(logn) |
O(1) |
Hard |
Binary Search |
|
32 |
Longest Valid Parentheses |
Solution |
O(n) |
O(n) |
Hard |
Stack, DP |
|
31 |
Next Permutation |
Solution |
O(n) |
O(1) |
Medium |
Array |
|
30 |
Substring with Concatenation of All Words |
Solution |
O(n^2) |
O(n) |
Hard |
HashMap |
|
29 |
Divide Two Integers |
Solution |
O(?) |
O(?) |
Medium |
|
|
28 |
Implement strStr() |
Solution |
O(n) |
O(1) |
Easy |
String |
|
27 |
Remove Element |
Solution |
O(n) |
O(1) |
Easy |
|
|
26 |
Remove Duplicates from Sorted Array |
Solution |
O(n) |
O(1) |
Easy |
|
|
25 |
Reverse Nodes in k-Group |
Solution |
O(n) |
O(1) |
Hard |
Recursion, LinkedList |
|
24 |
Swap Nodes in Pairs |
Solution |
O(n) |
O(1) |
Easy |
Recursion, LinkedList |
|
23 |
Merge k Sorted Lists |
Solution |
O(n*logk) |
O(logk) |
Hard |
Heap |
|
22 |
Generate Parentheses |
Solution |
TBD |
O(n) |
Medium |
Backtracking |
|
21 |
Merge Two Sorted Lists |
Solution |
O(n) |
O(1) |
Easy |
|
|
20 |
Valid Parentheses |
Solution |
O(n) |
O(n) |
Easy |
Stack |
|
19 |
Remove Nth Node From End of List |
Solution |
O(n) |
O(1) |
Medium |
Linked List |
|
18 |
4Sum |
Solution |
O(n^2) |
O(1) |
Medium |
Two Pointers |
|
17 |
Letter Combinations of a Phone Number |
Solution |
O(n*4^n) |
O(n) |
Medium |
Backtracking |
|
16 |
3Sum Closest |
Solution |
O(nlogn) |
O(1) |
Medium |
Two Pointers |
|
15 |
3Sum |
Solution |
O(n^2) |
O(1) |
Medium |
Two Pointers |
|
14 |
Longest Common Prefix |
Solution |
O(n*min(wordLength in this array)) |
O(1) |
Easy |
|
|
13 |
Roman to Integer |
Solution |
O(1) |
O(1) |
Easy |
|
|
12 |
Integer to Roman |
Solution |
O(1) |
O(1) |
Medium |
|
|
11 |
Container With Most Water |
Solution |
O(n) |
O(1) |
Medium |
|
|
10 |
Regular Expression Matching |
Solution |
O(m*n) |
O(m*n) |
Hard |
DP |
|
9 |
Palindrome Number |
Solution |
O(logn)/(n) |
O(1) |
Easy |
|
|
8 |
String to Integer (atoi) |
Solution |
O(n) |
O(1) |
Easy |
|
|
7 |
Reverse Integer |
Solution |
O(1) |
O(1) |
Easy |
|
|
6 |
ZigZag Conversion |
Solution |
O(n) |
O(n) |
Easy |
|
|
5 |
Longest Palindromic Substring |
Solution |
O(n^2) |
O(1) |
Medium |
|
|
4 |
Median of Two Sorted Arrays |
Solution |
? |
? |
Hard |
Divide and Conquer |
|
3 |
Longest Substring Without Repeating Characters |
Solution |
O(n) |
O(1) |
Medium |
HashMap, Sliding Window |
|
2 |
Add Two Numbers |
Solution |
O(n) |
O(1) |
Medium |
LinkedList |
|
1 |
Two Sum |
Solution |
O(n)/O(n^2) |
O(1)/O(n) |
Easy |
HashMap |
|