Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

682 Commits

Repository files navigation

My LeetCode solutions with Chinese explanation. 我的LeetCode中文题解。
每个题目都保证击败超过80%的提交,并尽量给出多种解法并分析算法复杂度。
每日持续更新中,欢迎交流,欢迎star :D

另外,

  • algorithm文件夹对经典算法作了简单介绍并给出代码模板,方便刷题参考使用;
  • CodingInterview给出了《剑指offer》第2版中对应的LeetCode题目。
#题目题解难度
1Two SumC++Easy
2Add Two NumbersC++Medium
3Longest Substring Without Repeating CharactersC++Medium
4Median of Two Sorted ArraysC++Hard
5Longest Palindromic SubstringC++Medium
6ZigZag ConversionC++Medium
7Reverse IntegerC++Easy
8String to Integer (atoi)C++Medium
9Palindrome NumberC++Easy
10Regular Expression MatchingC++Hard
11Container With Most WaterC++Medium
12Integer to RomanC++Medium
13Roman to IntegerC++Easy
14Longest Common PrefixC++Easy
153SumC++Medium
163Sum ClosestC++Medium
17Letter Combinations of a Phone NumberC++Medium
184SumC++Medium
19Remove Nth Node From End of ListC++Medium
20Valid ParenthesesC++Easy
21Merge Two Sorted ListsC++Easy
22Generate ParenthesesC++Medium
23Merge k Sorted ListsC++Hard
24Swap Nodes in PairsC++Medium
26Remove Duplicates from Sorted ArrayC++Easy
27Remove ElementC++Easy
28Implement strStr()C++Easy
29Divide Two IntegersC++Medium
31Next PermutationC++Medium
32Longest Valid ParenthesesC++Hard
33Search in Rotated Sorted ArrayC++Medium
34Find First and Last Position of Element in Sorted C++Medium
35Search Insert PositionC++Easy
36Valid SudokuC++Medium
38Count and SayC++Easy
39Combination SumC++Medium
40Combination Sum IIC++Medium
41First Missing PositiveC++Hard
42Trapping Rain WaterC++Hard
43Multiply StringsC++Medium
44Wildcard MatchingC++Hard
45Jump Game IIC++Hard
46PermutationsC++Medium
47Permutations IIC++Medium
48Rotate ImageC++Medium
49Group AnagramsC++Medium
50Pow(x, n)C++Medium
53Maximum SubarrayC++Easy
54Spiral MatrixC++Medium
55Jump GameC++Medium
56Merge IntervalsC++Medium
58Length of Last WordC++Easy
59Spiral Matrix IIC++Medium
60Permutation SequenceC++Medium
61Rotate ListC++Medium
62Unique PathsC++Medium
63Unique Paths IIC++Medium
64Minimum Path SumC++Medium
65Valid NumberC++Hard
66Plus OneC++Easy
67Add BinaryC++Easy
69Sqrt(x)C++Easy
70Climbing StairsC++Easy
71Simplify PathC++Medium
72Edit DistanceC++Hard
73Set Matrix ZeroesC++Medium
74Search a 2D MatrixC++Medium
75Sort ColorsC++Medium
76Minimum Window SubstringC++Hard
77CombinationsC++Medium
78SubsetsC++Medium
79Word SearchC++Medium
80Remove Duplicates from Sorted Array IIC++Medium
81Search in Rotated Sorted Array IIC++Medium
82Remove Duplicates from Sorted List IIC++Medium
83Remove Duplicates from Sorted ListC++Easy
84Largest Rectangle in HistogramC++Hard
85Maximal RectangleC++Hard
86Partition ListC++Medium
88Merge Sorted ArrayC++Easy
89Gray CodeC++Medium
90Subsets IIC++Medium
91Decode WaysC++Medium
92Reverse Linked List IIC++Medium
93Restore IP AddressesC++Medium
94Binary Tree Inorder TraversalC++Medium
95Unique Binary Search Trees IIC++Medium
96Unique Binary Search TreesC++Medium
97Interleaving StringC++Medium
98Validate Binary Search TreeC++Medium
99Recover Binary Search TreeC++Medium
100Same TreeC++Easy
101Symmetric TreeC++Easy
102Binary Tree Level Order TraversalC++Medium
103Binary Tree Zigzag Level Order TraversalC++Medium
104Maximum Depth of Binary TreeC++Easy
105Construct Binary Tree from Preorder and Inorder TraversalC++Medium
106Construct Binary Tree from Inorder and Postorder TraversalC++Medium
107Binary Tree Level Order Traversal IIC++Easy
108Convert Sorted Array to Binary Search TreeC++Easy
109Convert Sorted List to Binary Search TreeC++Medium
110Balanced Binary TreeC++Easy
111Minimum Depth of Binary TreeC++Easy
112Path SumC++Easy
113Path Sum IIC++Medium
114Flatten Binary Tree to Linked ListC++Medium
116Populating Next Right Pointers in Each NodeC++Medium
117Populating Next Right Pointers in Each Node IIC++Medium
118Pascal's TriangleC++Easy
119Pascal's Triangle IIC++Easy
120TriangleC++Medium
121Best Time to Buy and Sell StockC++Easy
122Best Time to Buy and Sell Stock IIC++Easy
123Best Time to Buy and Sell Stock IIIC++Hard
124Binary Tree Maximum Path SumC++Hard
125Valid PalindromeC++Easy
127Word LadderC++Medium
128Longest Consecutive SequenceC++Hard
129Sum Root to Leaf NumbersC++Medium
130Surrounded RegionsC++Medium
131Palindrome PartitioningC++Medium
133Clone GraphC++Medium
134Gas StationC++Medium
136Single NumberC++Easy
137Single Number IIC++Medium
138Copy List with Random PointerC++Medium
139Word BreakC++Medium
140Word Break IIC++Hard
141Linked List CycleC++Easy
142Linked List Cycle IIC++Medium
143Reorder ListC++Medium
144Binary Tree Preorder TraversalC++Medium
145Binary Tree Postorder TraversalC++Hard
146LRU CacheC++Medium
148Sort ListC++Medium
149Max Points on a LineC++Hard
150Evaluate Reverse Polish NotationC++Medium
151Reverse Words in a StringC++Medium
152Maximum Product SubarrayC++Medium
153Find Minimum in Rotated Sorted ArrayC++Medium
155Min StackC++Easy
160Intersection of Two Linked ListsC++Easy
162Find Peak ElementC++Medium
165Compare Version NumbersC++Medium
166Fraction to Recurring DecimalC++Medium
167Two Sum II - Input array is sortedC++Easy
168Excel Sheet Column TitleC++Easy
169Majority ElementC++Easy
171Excel Sheet Column NumberC++Easy
172Factorial Trailing ZeroesC++Easy
179Largest NumberC++Medium
187Repeated DNA SequencesC++Medium
188Best Time to Buy and Sell Stock IVC++Hard
189Rotate ArrayC++Easy
190Reverse BitsC++Easy
191Number of 1 BitsC++Easy
198House RobberC++Easy
199Binary Tree Right Side ViewC++Medium
200Number of IslandsC++Medium
201Bitwise AND of Numbers RangeC++Medium
202Happy NumberC++Easy
203Remove Linked List ElementsC++Easy
204Count PrimesC++Easy
205Isomorphic StringsC++Easy
206Reverse Linked ListC++Easy
207Course ScheduleC++Medium
208Implement Trie (Prefix Tree)C++Medium
209Minimum Size Subarray SumC++Medium
210Course Schedule IIC++Medium
211Add and Search Word - Data structure designC++Medium
212Word Search IIC++Hard
213House Robber IIC++Medium
215Kth Largest Element in an ArrayC++Medium
216Combination Sum IIIC++Medium
217Contains DuplicateC++Easy
218The Skyline ProblemC++Hard
219Contains Duplicate IIC++Easy
220Contains Duplicate IIIC++Medium
221Maximal SquareC++Medium
222Count Complete Tree NodesC++Medium
223Rectangle AreaC++Medium
225Implement Stack using QueuesC++Easy
226Invert Binary TreeC++Easy
227Basic Calculator IIC++Medium
228Summary RangesC++Medium
229Majority Element IIC++Medium
230Kth Smallest Element in a BSTC++Medium
231Power of TwoC++Easy
232Implement Queue using StacksC++Easy
233Number of Digit OneC++Hard
234Palindrome Linked ListC++Easy
235Lowest Common Ancestor of a Binary Search TreeC++Easy
236Lowest Common Ancestor of a Binary TreeC++Medium
237Delete Node in a Linked ListC++Easy
238Product of Array Except SelfC++Medium
239Sliding Window MaximumC++Hard
240Search a 2D Matrix IIC++Medium
241Different Ways to Add ParenthesesC++Medium
242Valid AnagramC++Easy
257Binary Tree PathsC++Easy
258Add DigitsC++Easy
260Single Number IIIC++Medium
263Ugly NumberC++Easy
264Ugly Number IIC++Medium
268Missing NumberC++Easy
274H-IndexC++Medium
275H-Index IIC++Medium
278First Bad VersionC++Easy
279Perfect SquaresC++Medium
283Move ZeroesC++Easy
284Peeking IteratorC++Medium
287Find the Duplicate NumberC++Medium
289Game of LifeC++Medium
290Word PatternC++Easy
292Nim GameC++Easy
295Find Median from Data StreamC++Hard
297Serialize and Deserialize Binary TreeC++Hard
299Bulls and CowsC++Medium
300Longest Increasing SubsequenceC++Medium
301Remove Invalid ParenthesesC++Hard
303Range Sum Query - ImmutableC++Easy
304Range Sum Query 2D - ImmutableC++Medium
306Additive NumberC++Medium
307Range Sum Query - MutableC++Medium
309Best Time to Buy and Sell Stock with CooldownC++Medium
310Minimum Height TreesC++Medium
312Burst BalloonsC++Hard
313Super Ugly NumberC++Medium
315Count of Smaller Numbers After SelfC++Hard
316Remove Duplicate LettersC++Medium
318Maximum Product of Word LengthsC++Medium
319Bulb SwitcherC++Medium
322Coin ChangeC++Medium
324Wiggle Sort IIC++Medium
326Power of ThreeC++Easy
328Odd Even Linked ListC++Medium
329Longest Increasing Path in a MatrixC++Hard
331Verify Preorder Serialization of a Binary TreeC++Medium
332Reconstruct ItineraryC++Medium
334Increasing Triplet SubsequenceC++Medium
337House Robber IIIC++Medium
338Counting BitsC++Medium
341Flatten Nested List IteratorC++Medium
342Power of FourC++Easy
343Integer BreakC++Medium
344Reverse StringC++Easy
345Reverse Vowels of a StringC++Easy
347Top K Frequent ElementsC++Medium
349Intersection of Two ArraysC++Easy
350Intersection of Two Arrays IIC++Easy
357Count Numbers with Unique DigitsC++Medium
365Water and Jug ProblemC++Medium
367Valid Perfect SquareC++Easy
368Largest Divisible SubsetC++Medium
371Sum of Two IntegersC++Easy
372Super PowC++Medium
373Find K Pairs with Smallest SumsC++Medium
374Guess Number Higher or LowerC++Easy
375Guess Number Higher or Lower IIC++Medium
376Wiggle SubsequenceC++Medium
377Combination Sum IVC++Medium
378Kth Smallest Element in a Sorted MatrixC++Medium
380Insert Delete GetRandom O(1)C++Medium
381Insert Delete GetRandom O(1) - Duplicates allowedC++Hard
382Linked List Random NodeC++Medium
383Ransom NoteC++Easy
384Shuffle an ArrayC++Medium
385Mini ParserC++Medium
386Lexicographical NumbersC++Medium
387First Unique Character in a StringC++Easy
388Longest Absolute File PathC++Medium
389Find the DifferenceC++Easy
390Elimination GameC++Medium
392Is SubsequenceC++Easy
393UTF-8 ValidationC++Medium
394Decode StringC++Medium
395Longest Substring with At Least K Repeating CharactersC++Medium
396Rotate FunctionC++Medium
397Integer ReplacementC++Medium
398Random Pick IndexC++Medium
400Nth DigitC++Medium
401Binary WatchC++Easy
402Remove K DigitsC++Medium
404Sum of Left LeavesC++Easy
405Convert a Number to HexadecimalC++Easy
406Queue Reconstruction by HeightC++Medium
409Longest PalindromeC++Easy
412Fizz BuzzC++Easy
413Arithmetic SlicesC++Medium
414Third Maximum NumberC++Easy
415Add StringsC++Easy
416Partition Equal Subset SumC++Medium
429N-ary Tree Level Order TraversalC++Easy
434Number of Segments in a StringC++Easy
437Path Sum IIIC++Easy
438Find All Anagrams in a StringC++Easy
441Arranging CoinsC++Easy
443String CompressionC++Easy
447Number of BoomerangsC++Easy
448Find All Numbers Disappeared in an ArrayC++Easy
453Minimum Moves to Equal Array ElementsC++Easy
4544Sum IIC++Medium
455Assign CookiesC++Easy
459Repeated Substring PatternC++Easy
461Hamming DistanceC++Easy
463Island PerimeterC++Easy
474Ones and ZeroesC++Medium
475HeatersC++Easy
476Number ComplementC++Easy
485Max Consecutive OnesC++Easy
493Reverse PairsC++Hard
494Target SumC++Medium
496Next Greater Element IC++Easy
500Keyboard RowC++Easy
509Fibonacci NumberC++Easy
532K-diff Pairs in an ArrayC++Easy
543Diameter of Binary TreeC++Easy
560Subarray Sum Equals KC++Medium
561Array Partition IC++Easy
566Reshape the MatrixC++Easy
572Subtree of Another TreeC++Easy
581Shortest Unsorted Continuous SubarrayC++Easy
605Can Place FlowersC++Easy
617Merge Two Binary TreesC++Easy
621Task SchedulerC++Medium
628Maximum Product of Three NumbersC++Easy
643Maximum Average Subarray IC++Easy
647Palindromic SubstringsC++Medium
661Image SmootherC++Easy
665Non-decreasing ArrayC++Easy
714Best Time to Buy and Sell Stock with Transaction FeeC++Medium
739Daily TemperaturesC++Medium
829Consecutive Numbers SumC++Hard
846Hand of StraightsC++Medium
905Sort Array By ParityC++Easy
946Validate Stack SequencesC++Medium
1155Number of Dice Rolls With Target SumC++Medium

About

LeetCode solutions with Chinese explanation & Summary of classic algorithms.

Topics

Resources

Stars

397 stars

Watchers

9 watching

Forks

Releases

Packages

Used by

Contributors