排序
| 题目 | 思路 | 次数 |
|---|---|---|
| 冒泡排序 | ||
| 选择排序 | ||
| 插入排序 | ||
| 归并排序 | ||
| 快速排序 |
其他
| 题目 | 思路 | 次数 |
|---|---|---|
| 两数之和 | 用Map | 1 |
| 有效的括号 | 1.replace替代 2.栈递归 |
栈
| 题目 | 思路 | 次数 |
|---|---|---|
| 有效的括号 | 对象映射 | |
| 每日温度 | 下标构建递减趋势栈 | |
| 实现最小栈 | 维护一个递减栈 | |
| 栈实现队列 | 两个栈 | |
| 滑动窗口 | 双指针或者双端递减队列()下标 |
二叉树
| 题目 | 思路 | 次数 |
|---|---|---|
| 前序后序遍历 | 利用栈和while循环 | 3 |
| 中序遍历 | 两层while循环遍历最左子节点 | 3 |
| 层次遍历 | 队列 while+for循环 | 2 |
| 翻转二叉树 | 1.递归交换 2.二叉树遍历 | 2 |
| 平衡二叉树 | 递归判断左右子树之差是否大于1 递归 | 1 |
二叉搜索树
| 题目 | 思路 | 次数 |
|---|---|---|
| 二叉搜索树查找 | 递归 | |
| 二叉搜索树插入 | 递归 | |
| 二叉搜索树删除 | 递归 |
链表
| 题目 | 思路 | 次数 |
|---|---|---|
| 判断有环 | 1.标记法,2.快慢指针 | 2 |
| 翻转链表 | 三指针 | 2 |
| 删除指定节点 | 快慢指针 | 2 |
| 合并有序链表 | 双指针 ❗️最后一定要处理剩下的链表 | 2 |
| 删除重复节点 | ||
| 局部反转链表 |
