刷题日志
一. 刷题数目汇总
| 专项 | 总计 |
|---|---|
| 数组 | 25 |
| 动态规划 | 9 |
| 贪心法 | 6 |
| 字符串 | 6 |
| 数学运算 | 8 |
| 树 | 50 |
| 链表 | 3 |
| 哈希表 | 11 |
| 图 | 2 |
| 二分法 | 4 |
| 搜索(回溯、BFS、DFS) | 4 |
| 双指针 | 11 |
| 排序 | 2 |
| 堆 | 4 |
| 栈 | 9 |
| 分治法 | 2 |
| Union-Find | 1 |
| 滑动窗口 | 2 |
| 其他 | |
| 总计(有重叠) | 182 |
二. 面试前必看经典题目汇总
DP类
基础类题目
字符串变换、正则匹配、字符串匹配
Target Sum、背包问题(二者还是有点区别的,target sum里面可以有负值)
LeetCode 416. Partition Equal Subset Sum
- Unique Path
- 二维转一维
数组类
- 区间相关
- 删除重复数字
二分搜索
- 基本模板及基本题目
二分搜索基础 - Upper Bound(右边界)
- Lower Bound(左边界)
链表类
- 链表合并
LeetCode 23. Merge k Sorted Lists
- 链表找环
LeetCode 142. Linked List Cycle II
- 翻转链表
LeetCode 92. Reverse Linked List II
LeetCode 24. Swap Nodes in Pairs
- 链表加和
“LeetCode 445. Add Two Numbers II”
- 删除重复节点
回溯法
- 组合(Combination Sum)
LeetCode 40. Combination Sum II
LeetCode 216. Combination Sum III
LeetCode 377. Combination Sum IV
- 子集合
LeetCode 90. Subsets II
- 全排列
LeetCode 47. Permutations II
LeetCode 31. Next Permutation
LeetCode 556. Next Greater Element III
- 数独
字符串类
图(Graph)
- 二分图
LeetCode 886. Possible Bipartition
LeetCode 1042. Flower Planting With No Adjacent
- 拷贝图
LeetCode 133. Clone Graph
- 拓扑排序
LeetCode 210. Course Schedule II
- grid + 连通分量
- DFS + 连通分量
树(Tree)
- Unique二叉搜索树
LeetCode 95
LeetCode 96 - 二叉树遍历
LeetCode 94
LeetCode 144
LeetCode 145
LeetCode 105 - 最低公共祖先
LeetCode 235
LeetCode 236