LeetCode Problems' Solutions
C++ Java Shell
Switch branches/tags
Nothing to show
Clone or download



LeetCode Algorithm

(Notes: "♥" means you need to buy a book from Leetcode)

# Title Solution Difficulty
859 Buddy Strings C++ Easy
858 Mirror Reflection C++ Medium
852 Peak Index in a Mountain Array C++ Easy
844 Backspace String Compare C++ Easy
837 Most Common Word C++ Easy
804 Unique Morse Code Words C++ Easy
771 Jewels and Stones C++ Easy
643 Maximum Average Subarray I C++ Easy
477 Total Hamming Distance C++ Medium
418 SentenceScreenFitting C++ Easy
416 Partition Equal Subset Sum C++ Medium
415 Add Strings C++ Easy
414 Third Maximum Number C++ Easy
413 Arithmetic Slices C++ Medium
412 Fizz Buzz C++ Easy
410 Split Array Largest Sum C++ Hard
409 Longest Palindrome C++ Easy
406 Queue Reconstruction by Height C++ Medium
405 Convert a Number to Hexadecimal C++ Easy
404 Sum of Left Leaves C++ Easy
403 Frog Jump C++ Hard
402 Remove K Digits C++ Medium
401 Binary Watch C++ Easy
400 Nth Digit C++ Easy
399 Evaluate Division C++ Medium
398 Random Pick Index C++ Medium
397 Integer Replacement C++ Medium
396 Rotate Function C++ Easy
395 Longest Substring with At Least K Repeating Characters C++ Medium
394 Decode String C++ Medium
393 UTF-8 Validation C++ Medium
392 Is Subsequence C++ Medium
391 Perfect Rectangle C++ Hard
390 Elimination Game C++ Medium
389 Find the Difference C++ Easy
388 Longest Absolute File Path C++ Medium
387 First Unique Character in a String C++ Easy
386 Lexicographical Numbers C++ Medium
385 Mini Parser C++ Medium
384 Shuffle an Array C++ Medium
383 Ransom Note C++ Easy
382 Linked List Random Node C++ Medium
381 Insert Delete GetRandom O(1) - Duplicates allowed C++ Hard
380 Insert Delete GetRandom O(1) C++ Hard
377 Combination Sum IV C++ Medium
376 Wiggle Subsequence C++ Medium
371 Sum of Two Integers C++ Easy
367 Valid Perfect Square C++ Easy
350 Intersection of Two Arrays II C++ Easy
349 Intersection of Two Arrays C++ Easy
347 Top K Frequent Elements C++ Medium
345 Reverse Vowels of a String C++ Easy
344 Reverse String C++ Easy
343 Integer Break C++ Medium
342 Power of Four C++ Easy
341 Flatten Nested List Iterator C++ Medium
338 Counting Bits C++ Medium
337 House Robber III C++ Medium
336 Palindrome Pairs C++ Hard
334 Increasing Triplet Subsequence C++ Medium
332 Reconstruct Itinerary C++ Medium
331 Verify Preorder Serialization of a Binary Tree 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
324 Wiggle Sort II C++ Medium
322 Coin Change C++ Medium
321 Create Maximum Number C++ Hard
319 Bulb Switcher C++ Medium
318 Maximum Product of Word Lengths C++ Medium
316 Remove Duplicate Letters C++ Hard
315 Count of Smaller Numbers After Self C++ Hard
313 Super Ugly Number C++ Medium
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++, Java Easy
241 Different Ways to Add Parentheses C++ Medium
240 Search a 2D Matrix II C++, Java 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++, Java 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++, Java 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++, Java 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++, Java 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++, Java 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++, Java 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++, Java 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++, Java 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++, Java 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++, Java 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++, Java 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++, Java 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++, Java 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

LeetCode Shell

# Title Solution Difficulty
4 Tenth Line Bash Easy
3 Transpose File Bash Medium
2 Valid Phone Numbers Bash Easy
1 Word Frequency Bash Medium


# Title Solution Difficulty
1 Search in a big sorted array Java Medium
2 Search Range in Binary Search Tree Java Medium