GitHub - ShusenTang/LeetCode: LeetCode solutions with Chinese explanation & Summary of classic algorithms.
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