# 算法
https://leetcode.cn/problemset/all/
https://zhuanlan.zhihu.com/p/552303981
# 1、数组
# 1.1 合并两个有序数组
# 1.2 数组中第K大元素
# 1.3 长度最小的子数组
# 1.4 最长重复子数组
# 1.5 二维数组的查找
# 2、字符串
# 2.1 字符串相加
# 2.2 最长不重复字符串
# 2.3 公共字串
# 2.4 最长公共前缀
# 3、排序查找
# 3.1 排序算法稳定性
# 3.2 冒泡排序
# 3.3 选择排序
# 3.4 插入排序
# 3.4.1 直接插入排序
# 3.4.2 折半插入排序
# 3.4.3 希尔排序
# 3.5 快速排序
# 3.6 常见算法效率比较
# 4、二叉树
# 4.1 二叉树结构
# 4.2 树的创建
# 4.3 二叉树遍历
# 4.3.1 前序遍历
# 4.3.2 中序遍历
# 4.3.3 后序遍历
# 4.4 二叉树类型
# 4.4.1 普通二叉树
# 4.4.2 平衡二叉树
# 4.4.3 二叉搜索树
# 4.5 常见基础题
# 4.5.1 求二叉树节点的个数
# 4.5.2 求二叉树的深度(高度)
# 4.5.3 求二叉树第K层的节点个数
# 4.5.4 判断两颗二叉树是否是相同的树
# 4.5.5 判断二叉树是否是二叉平衡树
# 4.5.6 求二叉树的镜像
# 4.5.7 判断两颗二叉树是否互为镜像
# 4.5.8 判断是否为二叉搜索树
# 4.5.9 判断是否有子树结构
# 4.5.10 最近的公共节点
# 5、链表
# 5.1 单链表结构
# 5.2 单链表
# 5.2.1 获取链表长度
# 5.2.2 输出单链表的倒数第K个节点
# 5.2.3 从头到尾打印链表
# 5.2.4 反转链表
# 5.2.5 删除链表中节点、要求时间复杂度o(1)
# 5.2.6 删除链表中重复的节点
# 5.2.7 两个链表中的第一个公共节点
# 5.2.8 使用链表实现大数加法
# 5.2.9 单链表排序
# 5.2.10 有序链表合并
# 5.3 环形链表
# 5.3.1 判断链表中是否存在环
# 5.3.2 找到环路的入口节点
# 5.3.3 计算环路长度
# 6、实际应用
# 6.1 算法应用题
# 6.2 动态规划
# 6.3 深度优先搜索
# 6.4 广度优先搜索
js链表 →