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