LeetCode-book
- LeetCode 1~400题总结 + 专题知识点&题型总结
Leetcode知识点详解&题型总结
LeetCode题目分类
数组类题目
K-SUM类题目
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
1 | Two Sum | easy | python、java、c++ |
167 | Two Sum II - Input array is sorted | Easy | python、java、c++ |
15 | 3Sum | Medium | python、java、c++ |
16 | 3Sum Closest | Medium | python、java、c++ |
259 | 3Sum Smaller | Medium | python、java、c++ |
18 | 4Sum | Medium | python、java、c++ |
区间问题
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
56 | Merge Intervals | Medium | python、java、c++ |
57 | Insert Interval | Hard | python、java、c++ |
252 | Meeting Rooms | easy | python、java、c++ |
253 | Meeting Rooms II | medium | python、java、c++ |
352 | Data Stream as Disjoint Intervals | hard | python、java、c++ |
子数组类题目
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
78 | Subsets | medium | python、java、c++ |
90 | Subsets II | medium | python、java、c++ |
53 | Maximum Subarray | easy | python、java、c++ |
152 | Maximum Product Subarray | medium | python、java、c++ |
239 | Sliding Window Maximum | hard | python、java、c++ |
295 | Find Median from Data Stream | hard | python、java、c++ |
228 | Summary Ranges | medium | python、java、c++ |
163 | Missing Ranges | medium | python、java、c++ |
325 | Maximum Size Subarray Sum Equals k | medium | python、java、c++ |
209 | Minimum Size Subarray Sum | medium | python、java、c++ |
238 | Product of Array Except Self | medium | python、java、c++ |
128 | Longest Consecutive Sequence | Hard | python、java、c++ |
Rotate类题目
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
48 | Rotate Image | Medium | python、java、c++ |
89 | Search in Rotated Sorted Array | Medium | python、java、c++ |
189 | Rotate Array | Easy | python、java、c++ |
81 | Search in Rotated Sorted Array II | Medium | python、java、c++ |
数组排序
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
88 | Merge Sorted Array | Easy | python、java、c++ |
75 | Sort Colors | Medium | python、java、c++ |
283 | Move Zeroes | Easy | python、java、c++ |
376 | Wiggle Subsequence | medium | python、java、c++ |
280 | Wiggle Sort | medium | python、java、c++ |
324 | Wiggle Sort II | medium | python、java、c++ |
215 | Kth Largest Element in an Array | medium | python、java、c++ |
287 | Find the Duplicate Number | medium | python、java、c++ |
334 | Increasing Triplet Subsequence | medium | python、java、c++ |
400 | Nth Digit | easy | python、java、c++ |
387 | First Unique Character in a String | easy | python、java、c++ |
164 | Maximum Gap | hard | python、java、c++ |
347 | Top K Frequent Elements | medium | python、java、c++ |
243 | Shortest Word Distance | easy | python、java、c++ |
244 | Shortest Word Distance II | medium | python、java、c++ |
245 | Shortest Word Distance III | medium | python、java、c++ |
双指针问题
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
11 | Container With Most Water | Medium | python、java、c++ |
41 | First Missing Positive | Hard | python、java、c++ |
42 | Trapping Rain Water | Hard | python、java、c++ |
84 | Largest Rectangle in Histogram | Hard | python、java、c++ |
85 | Maximal Rectangle | Hard | python、java、c++ |
243 | Shortest Word Distance | Easy | python、java、c++ |
244 | Shortest Word Distance II | medium | python、java、c++ |
245 | Shortest Word Distance III | Medium | python、java、c++ |
二维数组
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
48 | Rotate Image | Medium | python、java、c++ |
54 | Spiral Matrix | Medium | python、java、c++ |
73 | Set Matrix Zeroes | Medium | python、java、c++ |
311 | Sparse Matrix Multiplication | medium | python、java、c++ |
36 | Valid Sudoku | meidum | python、java、c++ |
37 | Sudoku Solver | hard | python、java、c++ |
动态规划
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
62 | Unique Paths | Medium | python、java、c++ |
63 | Unique Paths II | Medium | python、java、c++ |
64 | Minimum Path Sum | Medium | python、java、c++ |
120 | Triangle | Medium | python、java、c++ |
二叉树
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
105 | Construct Binary Tree from Preorder and Inorder Traversal | Medium | python、java、c++ |
106 | Construct Binary Tree from Inorder and Postorder Traversal | Medium | python、java、c++ |
Math
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
66 | Plus One | Easy | python、java、c++ |
118 | Pascal's Triangle | Easy | python、java、c++ |
119 | Pascal's Triangle II | Easy | python、java、c++ |
基础
基础题目
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
217 | Contains Duplicate | Easy | python、java、c++ |
219 | Contains Duplicate II | Easy | python、java、c++ |
380 | Insert Delete GetRandom O(1) | Medium | python、java、c++ |
381 | Insert Delete GetRandom O(1) - Duplicates allowed | Hard | python、java、c++ |
31 | Next Permutation | Medium |
Search类题
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
33 | Search in Rotated Sorted Array | Medium | python、java、c++ |
81 | Search in Rotated Sorted Array II | Medium | python、java、c++ |
34 | Find First and Last Position of Element in Sorted Array | Medium | python、java、c++ |
35 | Search Insert Position | Easy | python、java、c++ |
74 | Search a 2D Matrix | Medium | python、java、c++ |
79 | Word Search | Medium | python、java、c++ |
153 | Find Minimum in Rotated Sorted Array | Medium | python、java、c++ |
154 | Find Minimum in Rotated Sorted Array II | Hard | python、java、c++ |
39 | Combination Sum | Medium | python、java、c++ |
40 | Combination Sum II | Medium | python、java、c++ |
216 | Combination Sum III | Medium | python、java、c++ |
45 | Jump Game II | Hard | python、java、c++ |
55 | Jump Game | Medium | python、java、c++ |
121 | Best Time to Buy and Sell Stock | Easy | python、java、c++ |
122 | Best Time to Buy and Sell Stock II | Easy | python、java、c++ |
123 | Best Time to Buy and Sell Stock III | Hard | python、java、c++ |
126 | Word Ladder II | Hard | python、java、c++ |
162 | Find Peak Element | Medium | python、java、c++ |
169 | Majority Element | Easy | python、java、c++ |
229 | Majority Element II | Medium | python、java、c++ |
Remove类题目
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
26 | Remove Duplicates from Sorted Array | Easy | python、java、c++ |
27 | Remove Element | Easy | python、java、c++ |
80 | Remove Duplicates from Sorted Array II | Medium | python、java、c++ |
提高题目
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
4 | Median of Two Sorted Arrays | Hard | python、java、c++ |
289 | Game of Life | Medium | python、java、c++ |
综合题
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
274 | H-Index | medium | python、java、c++ |
376 | Wiggle Subsequence | medium | python、java、c++ |
277 | Find the Celebrity | medium | python、java、c++ |
370 | Range Addition | medium | python、java、c++ |
296 | Best Meeting Point | hard | python、java、c++ |
链表类题目
删除类题目
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
19 | Remove Nth Node From End of List | medium | python、java、c++ |
82 | Remove Duplicates from Sorted List II | Medium | python、java、c++ |
83 | Remove Duplicates from Sorted List | Easy | python、java、c++ |
203 | Remove Linked List Elements | Easy | python、java、c++ |
237 | Delete Node in a Linked List | Easy | python、java、c++ |
翻转类题目
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
25 | Reverse Nodes in k-Group | Hard | python、java、c++ |
61 | Rotate List | Medium | python、java、c++ |
92 | Reverse Linked List II | Medium | python、java、c++ |
206 | Reverse Linked List | Easy | python、java、c++ |
合并链表
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
2 | Add Two Numbers | medium | python、java、c++ |
21 | Merge Two Sorted Lists | Easy | python、java、c++ |
23 | Merge k Sorted Lists | Hard | python、java、c++ |
445 | Add Two Numbers II | Medium | python、java、c++ |
环
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
141 | Linked List Cycle | Easy | python、java、c++ |
142 | Linked List Cycle II | Medium | python、java、c++ |
708 | Insert into a Cyclic Sorted List | Medium | python、java、c++ |
拆分链表
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
725 | Split Linked List in Parts | Medium | python、java、c++ |
86 | Partition List | Medium | python、java、c++ |
排序链表
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
143 | Reorder List | Medium | python、java、c++ |
147 | Insertion Sort List | Medium | python、java、c++ |
148 | Sort List | Medium | python、java、c++ |
基础
序号 | 题目 | 难度 | 代码 |
---|---|---|---|
109 | Convert Sorted List to Binary Search Tree | Medium | python、java、c++ |
138 | Copy List with Random Pointer | Medium | |
160 | Intersection of Two Linked Lists | Easy | python、java、c++ |
234 | Palindrome Linked List | Easy | python、java、c++ |
328 | Odd Even Linked List | Medium | python、java、c++ |
369 | Plus One Linked List | Medium | python、java、c++ |
379 | Design Phone Directory | Medium | python、java、c++ |
426 | Convert Binary Search Tree to Sorted Doubly Linked List | Medium | python、java、c++ |
430 | Flatten a Multilevel Doubly Linked List | Medium | python、java、c++ |
707 | Design Linked List | Easy | python、java、c++ |
817 | Linked List Components | Medium | python、java、c++ |
876 | Middle of the Linked List | Easy | python、java、c++ |