1 |
Two Sum |
Easy |
001_two-sum.js |
2 |
Add Two Numbers |
Medium |
002_add-two-numbers.js |
3 |
Longest Substring Without Repeating Characters |
Medium |
003_longest-substring-without-repeating-characters.js |
5 |
Longest Palindromic Substring |
Medium |
005_longest-palindromic-substring.js |
6 |
ZigZag Conversion |
Medium |
006_zigzag-conversion.js |
7 |
Reverse Integer |
Easy |
007_reverse-integer.js |
8 |
String to Integer (atoi) |
Medium |
008_string-to-integer-atoi.js |
9 |
Palindrome Number |
Easy |
009_palindrome-number.js |
11 |
Container With Most Water |
Medium |
011_container-with-most-water.js |
12 |
Integer to Roman |
Medium |
012_integer-to-roman.js |
13 |
Roman to Integer |
Easy |
013_roman-to-integer.js |
14 |
Longest Common Prefix |
Easy |
014_longest-common-prefix.js |
15 |
3Sum |
Medium |
015_3sum.js |
16 |
3Sum Closest |
Medium |
016_3sum-closest.js |
17 |
Letter Combinations of a Phone Number |
Medium |
017_letter-combinations-of-a-phone-number.js |
18 |
4Sum |
Medium |
018_4sum.js |
19 |
Remove Nth Node From End of List |
Medium |
019_remove-nth-node-from-end-of-list.js |
20 |
Valid Parentheses |
Easy |
020_valid-parentheses.js |
21 |
Merge Two Sorted Lists |
Easy |
021_merge-two-sorted-lists.js |
22 |
Generate Parentheses |
Medium |
022_generate-parentheses.js |
24 |
Swap Nodes in Pairs |
Medium |
024_swap-nodes-in-pairs.js |
26 |
Remove Duplicates from Sorted Array |
Easy |
026_remove-duplicates-from-sorted-array.js |
27 |
Remove Element |
Easy |
027_remove-element.js |
28 |
Implement strStr() |
Easy |
028_implement-strstr.js |
29 |
Divide Two Integers |
Medium |
029_divide-two-integers.js |
34 |
Search for a Range |
Medium |
034_search-for-a-range.js |
35 |
Search Insert Position |
Easy |
035_search-insert-position.js |
38 |
Count and Say |
Easy |
038_count-and-say.js |
39 |
Combination Sum |
Medium |
039_combination-sum.js |
41 |
First Missing Positive |
Hard |
041_first-missing-positive.js |
46 |
Permutations |
Medium |
046_permutations.js |
48 |
Rotate Image |
Medium |
048_rotate-image.js |
49 |
Group Anagrams |
Medium |
049_anagrams.js |
53 |
Maximum Subarray |
Easy |
053_maximum-subarray.js |
54 |
Spiral Matrix |
Medium |
054_spiral-matrix.js |
55 |
Jump Game |
Medium |
055_jump-game.js |
58 |
Length of Last Word |
Easy |
058_length-of-last-word.js |
59 |
Spiral Matrix II |
Medium |
059_spiral-matrix-ii.js |
60 |
Permutation Sequence |
Medium |
060_permutation-sequence.js |
61 |
Rotate List |
Medium |
061_rotate-list.js |
62 |
Unique Paths |
Medium |
062_unique-paths.js |
63 |
Unique Paths II |
Medium |
063_unique-paths-ii.js |
64 |
Minimum Path Sum |
Medium |
064_minimum-path-sum.js |
69 |
Sqrt(x) |
Easy |
069_sqrtx.js |
71 |
Simplify Path |
Medium |
071_simplify-path.js |
73 |
Set Matrix Zeroes |
Medium |
073_set-matrix-zeroes.js |
75 |
Sort Colors |
Medium |
075_sort-colors.js |
77 |
Combinations |
Medium |
077_combinations.js |
78 |
Subsets |
Medium |
078_subsets.js |
79 |
Word Search |
Medium |
079_word-search.js |
80 |
Remove Duplicates from Sorted Array II |
Medium |
080_remove-duplicates-from-sorted-array-ii.js |
83 |
Remove Duplicates from Sorted List |
Easy |
083_remove-duplicates-from-sorted-list.js |
88 |
Merge Sorted Array |
Easy |
088_merge-sorted-array.js |
89 |
Gray Code |
Medium |
089_gray-code.js |
90 |
Subsets II |
Medium |
090_subsets-ii.js |
91 |
Decode Ways |
Medium |
091_decode-ways.js |
92 |
Reverse Linked List II |
Medium |
092_reverse-linked-list-ii.js |
93 |
Restore IP Addresses |
Medium |
093_restore-ip-addresses.js |
94 |
Binary Tree Inorder Traversal |
Medium |
094_binary-tree-inorder-traversal.js |
98 |
Validate Binary Search Tree |
Medium |
098_validate-binary-search-tree.js |
101 |
Symmetric Tree |
Easy |
101_symmetric-tree.js |
102 |
Binary Tree Level Order Traversal |
Medium |
102_binary-tree-level-order-traversal.js |
111 |
Minimum Depth of Binary Tree |
Easy |
111_minimum-depth-of-binary-tree.js |
112 |
Path Sum |
Easy |
112_path-sum.js |
113 |
Path Sum II |
Medium |
113_path-sum-ii.js |
114 |
Flatten Binary Tree to Linked List |
Medium |
114_flatten-binary-tree-to-linked-list.js |
116 |
Populating Next Right Pointers in Each Node |
Medium |
116_populating-next-right-pointers-in-each-node.js |
118 |
Pascal's Triangle |
Easy |
118_pascals-triangle.js |
119 |
Pascal's Triangle II |
Easy |
119_pascals-triangle-ii.js |
120 |
Triangle |
Medium |
120_triangle.js |
121 |
Best Time to Buy and Sell Stock |
Easy |
121_best-time-to-buy-and-sell-stock.js |
122 |
Best Time to Buy and Sell Stock II |
Easy |
122_best-time-to-buy-and-sell-stock-ii.js |
125 |
Valid Palindrome |
Easy |
125_valid-palindrome.js |
129 |
Sum Root to Leaf Numbers |
Medium |
129_sum-root-to-leaf-numbers.js |
130 |
Surrounded Regions |
Medium |
130_surrounded-regions.js |
131 |
Palindrome Partitioning |
Medium |
131_palindrome-partitioning.js |
134 |
Gas Station |
Medium |
134_gas-station.js |
136 |
Single Number |
Easy |
136_single-number.js |
137 |
Single Number II |
Medium |
137_single-number-ii.js |
139 |
Word Break |
Medium |
139_word-break.js |
141 |
Linked List Cycle |
Easy |
141_linked-list-cycle.js |
142 |
Linked List Cycle II |
Medium |
142_linked-list-cycle-ii.js |
143 |
Reorder List |
Medium |
143_reorder-list.js |
144 |
Binary Tree Preorder Traversal |
Medium |
144_binary-tree-preorder-traversal.js |
145 |
Binary Tree Postorder Traversal |
Hard |
145_binary-tree-postorder-traversal.js |
147 |
Insertion Sort List |
Medium |
147_insertion-sort-list.js |
150 |
Evaluate Reverse Polish Notation |
Medium |
150_evaluate-reverse-polish-notation.js |
151 |
Reverse Words in a String |
Medium |
151_reverse-words-in-a-string.js |
152 |
Maximum Product Subarray |
Medium |
152_maximum-product-subarray.js |
153 |
Find Minimum in Rotated Sorted Array |
Medium |
153_find-minimum-in-rotated-sorted-array.js |
155 |
Min Stack |
Easy |
155_min-stack.js |
160 |
Intersection of Two Linked Lists |
Easy |
160_intersection-of-two-linked-lists.js |
162 |
Find Peak Element |
Medium |
162_find-peak-element.js |
165 |
Compare Version Numbers |
Medium |
165_compare-version-numbers.js |
168 |
Excel Sheet Column Title |
Easy |
168_excel-sheet-column-title.js |
169 |
Majority Element |
Easy |
169_majority-element.js |
171 |
Excel Sheet Column Number |
Easy |
171_excel-sheet-column-number.js |
172 |
Factorial Trailing Zeroes |
Easy |
172_factorial-trailing-zeroes.js |
179 |
Largest Number |
Medium |
179_largest-number.js |
187 |
Repeated DNA Sequences |
Medium |
187_repeated-dna-sequences.js |
189 |
Rotate Array |
Easy |
189_rotate-array.js |
190 |
Reverse Bits |
Easy |
190_reverse-bits.js |
191 |
Number of 1 Bits |
Easy |
191_number-of-1-bits.js |
198 |
House Robber |
Easy |
198_house-robber.js |
199 |
Binary Tree Right Side View |
Medium |
199_binary-tree-right-side-view.js |
200 |
Number of Islands |
Medium |
200_number-of-islands.js |
201 |
Bitwise AND of Numbers Range |
Medium |
201_bitwise-and-of-numbers-range.js |
202 |
Happy Number |
Easy |
202_happy-number.js |
203 |
Remove Linked List Elements |
Easy |
203_remove-linked-list-elements.js |
204 |
Count Primes |
Easy |
204_count-primes.js |
205 |
Isomorphic Strings |
Easy |
205_isomorphic-strings.js |
206 |
Reverse Linked List |
Easy |
206_reverse-linked-list.js |
209 |
Minimum Size Subarray Sum |
Medium |
209_minimum-size-subarray-sum.js |
215 |
Kth Largest Element in an Array |
Medium |
215_kth-largest-element-in-an-array.js |
216 |
Combination Sum III |
Medium |
216_combination-sum-iii.js |
217 |
Contains Duplicate |
Easy |
217_contains-duplicate.js |
219 |
Contains Duplicate II |
Easy |
219_contains-duplicate-ii.js |
220 |
Contains Duplicate III |
Medium |
220_contains-duplicate-iii.js |
221 |
Maximal Square |
Medium |
221_maximal-square.js |
223 |
Rectangle Area |
Medium |
223_rectangle-area.js |
224 |
Basic Calculator |
Hard |
224_basic-calculator.js |
226 |
Invert Binary Tree |
Easy |
226_invert-binary-tree.js |
227 |
Basic Calculator II |
Medium |
227_basic-calculator-ii.js |
228 |
Summary Ranges |
Medium |
228_summary-ranges.js |
229 |
Majority Element II |
Medium |
229_majority-element-ii.js |
231 |
Power of Two |
Easy |
231_power-of-two.js |
234 |
Palindrome Linked List |
Easy |
234_palindrome-linked-list.js |
235 |
Lowest Common Ancestor of a Binary Search Tree |
Easy |
235_lowest-common-ancestor-of-a-binary-search-tree.js |
237 |
Delete Node in a Linked List |
Easy |
237_delete-node-in-a-linked-list.js |
238 |
Product of Array Except Self |
Medium |
238_product-of-array-except-self.js |
240 |
Search a 2D Matrix II |
Medium |
240_search-a-2d-matrix-ii.js |
242 |
Valid Anagram |
Easy |
242_valid-anagram.js |
257 |
Binary Tree Paths |
Easy |
257_binary-tree-paths.js |
258 |
Add Digits |
Easy |
258_add-digits.js |
263 |
Ugly Number |
Easy |
263_ugly-number.js |
264 |
Ugly Number II |
Medium |
264_ugly-number-ii.js |
268 |
Missing Number |
Easy |
268_missing-number.js |
274 |
H-Index |
Medium |
274_h-index.js |
275 |
H-Index II |
Medium |
275_h-index-ii.js |
278 |
First Bad Version |
Easy |
278_first-bad-version.js |
279 |
Perfect Squares |
Medium |
279_perfect-squares.js |
283 |
Move Zeroes |
Easy |
283_move-zeroes.js |
289 |
Game of Life |
Medium |
289_game-of-life.js |
290 |
Word Pattern |
Easy |
290_word-pattern.js |
292 |
Nim Game |
Easy |
292_nim-game.js |
299 |
Bulls and Cows |
Medium |
299_bulls-and-cows.js |
300 |
Longest Increasing Subsequence |
Medium |
300_longest-increasing-subsequence.js |
303 |
Range Sum Query - Immutable |
Easy |
303_range-sum-query-immutable.js |
304 |
Range Sum Query 2D - Immutable |
Medium |
304_range-sum-query-2d-immutable.js |
306 |
Additive Number |
Medium |
306_additive-number.js |
307 |
Range Sum Query - Mutable |
Medium |
307_range-sum-query-mutable.js |
318 |
Maximum Product of Word Lengths |
Medium |
318_maximum-product-of-word-lengths.js |
322 |
Coin Change |
Medium |
322_coin-change.js |
326 |
Power of Three |
Easy |
326_power-of-three.js |
328 |
Odd Even Linked List |
Medium |
328_odd-even-linked-list.js |
332 |
Reconstruct Itinerary |
Medium |
332_reconstruct-itinerary.js |
334 |
Increasing Triplet Subsequence |
Medium |
334_increasing-triplet-subsequence.js |
338 |
Counting Bits |
Medium |
338_counting-bits.js |
343 |
Integer Break |
Medium |
343_integer-break.js |
344 |
Reverse String |
Easy |
344_reverse-string.js |
345 |
Reverse Vowels of a String |
Easy |
345_reverse-vowels-of-a-string.js |
347 |
Top K Frequent Elements |
Medium |
347_top-k-frequent-elements.js |
349 |
Intersection of Two Arrays |
Easy |
349_intersection-of-two-arrays.js |
350 |
Intersection of Two Arrays II |
Easy |
350_intersection-of-two-arrays-ii.js |
367 |
Valid Perfect Square |
Easy |
367_valid-perfect-square.js |
368 |
Largest Divisible Subset |
Medium |
368_largest-divisible-subset.js |
378 |
Kth Smallest Element in a Sorted Matrix |
Medium |
378_kth-smallest-element-in-a-sorted-matrix.js |
383 |
Ransom Note |
Easy |
383_ransom-note.js |
386 |
Lexicographical Numbers |
Medium |
386_lexicographical-numbers.js |
387 |
First Unique Character in a String |
Easy |
387_first-unique-character-in-a-string.js |
388 |
Longest Absolute File Path |
Medium |
388_longest-absolute-file-path.js |
389 |
Find the Difference |
Easy |
389_find-the-difference.js |
392 |
Is Subsequence |
Medium |
392_is-subsequence.js |
394 |
Decode String |
Medium |
394_decode-string.js |
397 |
Integer Replacement |
Medium |
397_integer-replacement.js |
399 |
Evaluate Division |
Medium |
399_evaluate-division.js |
401 |
Binary Watch |
Easy |
401_binary-watch.js |
404 |
Sum of Left Leaves |
Easy |
404_sum-of-left-leaves.js |
405 |
Convert a Number to Hexadecimal |
Easy |
405_convert-a-number-to-hexadecimal.js |
406 |
Queue Reconstruction by Height |
Medium |
406_queue-reconstruction-by-height.js |
409 |
Longest Palindrome |
Easy |
409_longest-palindrome.js |
412 |
Fizz Buzz |
Easy |
412_fizz-buzz.js |
413 |
Arithmetic Slices |
Medium |
413_arithmetic-slices.js |
415 |
Add Strings |
Easy |
415_add-strings.js |
416 |
Partition Equal Subset Sum |
Medium |
416_partition-equal-subset-sum.js |
417 |
Pacific Atlantic Water Flow |
Medium |
417_pacific-atlantic-water-flow.js |
419 |
Battleships in a Board |
Medium |
419_battleships-in-a-board.js |
423 |
Reconstruct Original Digits from English |
Medium |
423_reconstruct-original-digits-from-english.js |
434 |
Number of Segments in a String |
Easy |
434_number-of-segments-in-a-string.js |
485 |
Max Consecutive Ones |
Easy |
485_max-consecutive-ones.js |
492 |
Construct the Rectangle |
Easy |
492_construct-the-rectangle.js |
494 |
Target Sum |
Medium |
494_target-sum.js |
506 |
Relative Ranks |
Easy |
506_relative-ranks.js |
508 |
Most Frequent Subtree Sum |
Medium |
508_most-frequent-subtree-sum.js |
513 |
Find Bottom Left Tree Value |
Medium |
513_find-bottom-left-tree-value.js |
515 |
Find Largest Value in Each Tree Row |
Medium |
515_find-largest-value-in-each-tree-row.js |
520 |
Detect Capital |
Easy |
520_detect-capital.js |
529 |
Minesweeper |
Medium |
529_minesweeper.js |
530 |
Minimum Absolute Difference in BST |
Easy |
530_minimum-absolute-difference-in-bst.js |
539 |
Minimum Time Difference |
Medium |
539_minimum-time-difference.js |