Skip to content

LeetCode solutions with Chinese explanation & Summary of classic algorithms.


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

My LeetCode solutions with Chinese explanation. 我的LeetCode中文题解。
每日持续更新中,欢迎交流,欢迎star :D


  • algorithm文件夹对经典算法作了简单介绍并给出代码模板,方便刷题参考使用;
  • CodingInterview给出了《剑指offer》第2版中对应的LeetCode题目。
# 题目 题解 难度
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


LeetCode solutions with Chinese explanation & Summary of classic algorithms.








No releases published


No packages published