$$\color{Red}{【算法题】《数据结构》复习笔记}$$
我的网站=> 分享了我关于前后端的各种知识和生活美食~
我于Acwing平台分享的零散刷的各种各样的题
分类题单
每道题题解部分给出了我对这道题的详细解析和理解,如果有不对的地方,欢迎指正
0.链表
题目 | 题解 |
---|---|
0. 反转链表 | 题解 |
1. 两数相加 leetcode 2 高精度加法 |
题解 |
2. 删除链表的倒数第N个结点 leetcode 19 双指针 |
题解 |
3. 合并两个有序链表 leetcode 21 简单归并 |
题解 |
4. 合并K个排序链表 leetcode 22 堆替代归并 |
题解 |
5. 两两交换链表中的节点 leetcode 24 三指针 |
题解 |
6. K个一组翻转链表 leetcode 25 深度解析过程(三指针) |
题解 |
7. 旋转链表 leetcode 61 简单模拟 |
题解 |
8. 分割链表 leetcode 86 靠指针维护虚拟双链表 |
题解 |
9. 反转链表2 leetcode 92 k个一组反转的弱化版 |
题解 |
10. 相交链表leetcode160 互相遍历的总长度 |
题解 |
11. | 题解 |
12. | 题解 |
13. | 题解 |
14. | 题解 |
15. | 题解 |
16. | 题解 |
1.栈与队列
1.栈
题目 | 题解 |
---|---|
1. 单调栈 维护一个最小值或最大值 |
题解 |
2. 有效的括号 leetcode 20 栈 |
题解 |
3. 最长有效括号 leetcode 32 栈 |
题解 |
4. 接雨水 leetcode 42 模拟或栈 |
题解 |
5. 简化路径 leetcode 71 从模拟栈到字符串拼接 |
题解 |
6. 柱状图中最大的矩形 leetcode 84 单调栈 |
题解 |
7. 最大矩形 leetcode 85 抽象坐标后做单调栈 |
题解 |
8. | 题解 |
9. | 题解 |
10. | 题解 |
2.队列
题目 | 题解 |
---|---|
1. 滑动窗口 单调队列:维护一个固定区间内的最值问题 |
题解 |
2. 柱状图中最大的矩形 leetcode 84 单调栈 |
题解 |
3. 滑动窗口最大值【leetcode239 单调队列】 |
题解 |
4. | 题解 |
5. | 题解 |
6. | 题解 |
7. | 题解 |
2. KMP
题目 | 题解 |
---|---|
1. KMP基础模板 | 题解 |
2. | 题解 |
3. | 题解 |
4. | 题解 |
5. | 题解 |
6. | 题解 |
7. | 题解 |
3. Trie树
题目 | 题解 |
---|---|
1. Trie字符串统计 | 题解 |
2. 最大异或对 | 题解 |
3. | 题解 |
4. | 题解 |
5. | 题解 |
6. | 题解 |
7. | 题解 |
4. 并查集
题目 | 题解 |
---|---|
1. 合并集合基础模板 |
题解 |
2. 连通块中点的数量 | 题解 |
3. 食物链 利用d[]数组维持捕食关系 |
题解 |
4. | 题解 |
5. | 题解 |
6. | 题解 |
7. | 题解 |
5. 堆
题目 | 题解 |
---|---|
1. 堆排序 基础模板 |
题解 |
2. 手写一个双重链接的堆 | 题解 |
3. | 题解 |
4. | 题解 |
5. | 题解 |
6. | 题解 |
7. | 题解 |
6. 哈希表
题目 | 题解 |
---|---|
1. 模拟散列表 | 题解 |
2. 字符串哈希 | 题解 |
3. 字符异位词分组 leetcode 49 字符排序哈希 |
题解 |
4. 常数时间插入、删除和获取随机元素LeetCode 380 哈希结合数组 |
题解 |
5. | 题解 |
6. | 题解 |
7. | 题解 |
7. 二叉树
题目 | 题解 |
---|---|
1. 二叉树的中序遍历 leetcode 94 中序遍历 |
题解 |
2. 不同的二叉搜索树2 leetcode 95 枚举搜索树 |
题解 |
3. 不同的二叉搜索树1 leetcode 96 搜索树计数 |
题解 |
4. 验证二叉搜索树 leetcode98 dfs 维护合法区间节点 |
题解 |
5. 相同的树 leetcode 100 简单递归 |
题解 |
6. 对称二叉树 leetcode 101 对称递归两树 |
题解 |
7. 二叉树层序遍历 leetcode102 bfs 遍历二叉树 |
题解 |
8. 二叉树的锯齿形层次遍历 leetcode103 bfs 变体 |
题解 |
9. 二叉树最大深度 leetcode 104 dfs和bfs |
题解 |
10. 从前序与中序遍历序列构造二叉树 leetcode 105 双dfs融合 |
题解 |
11. 从后序与中序遍历序列构造二叉树 leetcode 106 双dfs融合 |
题解 |
12. 将有序链表转换为二叉搜索树 leetcode 109 平衡二叉树 |
题解 |
13. 平衡二叉树 leetcode 110 平衡二叉树判断 |
题解 |
14. 二叉树的最小层数 leetcode 111 叶子节点 |
题解 |
15. 路径总和 leetcode 112 简单dfs |
题解 |
16. 二叉树变为链表 leetcode 113 前序遍历原地改造 |
题解 |
17. 填充每个节点的下一个右侧节点 leetcode 116 指针省略队列 |
题解 |
18. 填充每个节点的下一个右侧节点2 leetcode 117 非完全二叉树做法 |
题解 |
19. 二叉树中的最大路径和 leetcode124 树形dp |
习题总结 |
20. | 题解 |
21. | 题解 |
22. | 题解 |
23. | 题解 |
24. | 题解 |
25. | 题解 |
26. | 题解 |
27. | 题解 |
28. | 题解 |
29. | 题解 |
牛逼啊兄弟