数据结构分类
数据结构有哪些
二叉树、链表、数组、堆、栈、队列、哈希、字符串
二叉树
- 二叉树的基本操作 ⭐⭐
- 二叉树的中序遍历 ⭐⭐
- 二叉树的前序遍历 ⭐⭐
- 二叉树的后序遍历 ⭐⭐
- 二叉树的层次遍历 ⭐⭐
- 重建二叉树 ⭐⭐
- 对称二叉树 ⭐⭐
- 二叉树的镜像 ⭐⭐
- 二叉树的最大深度 ⭐⭐
- 二叉树的最小深度 ⭐⭐
- 平衡二叉树 ⭐⭐
- 序列化和反序列化二叉树 ⭐⭐⭐
- 二叉树的最近公共祖先
- 二叉搜索树中的搜索
- 删除二叉搜索树中的节点 ⭐⭐⭐
- 完全二叉树的节点个数 ⭐⭐⭐
- 二叉树的锯齿形层次遍历
- 二叉搜索树中第 K 小的元素
链表
- 基本结构
- 从头到尾打印链表
- 反转链表
- 复杂链表的复制
- 合并两个排序的链表
- 链表倒数第k个节点
- 链表中环的入口
- 两个链表的第一个公共节点(相交链表)
- 链表中倒数第k个节点
- 删除链表中的节点or重复的节点
- 排序链表 ⭐⭐⭐
- 通过链表的后续遍历判断回文链表问题
- 合并 K 个升序链表 ⭐⭐⭐⭐
- 回文链表
- 约瑟夫环
- 相交链表
数组
- 双指针
- 调整数组顺序使奇数位于偶数前面
- 和为 S 的两个数字
- 和为 S 的连续正整数序列
- N数之和
- 二维数组
- 数据统计
- 数组中出现次数超过数组长度一半的数字
- 连续子数组的最大和
- 扑克牌顺子
- 第一个只出现一次的字符
- 其它
堆
栈
- 使用两个栈实现先入先出队列
- 包含min函数的栈
- 栈的压入、弹出序列
- 有效的括号
- 简化路径
队列
哈希
- 两数之和
- 三数之和
- 字符流中第一个不重复的字符
- 宝石与石头
- 每日温度
字符串
- 表示数值的字符串
- 替换空格
- 正则表达式匹配
- 字符串的排列
- 字符串翻转
- 左旋转字符串
- 字符流中第一个不重复的字符
- 括号生成
- 最长公共前缀
- 最长回文子串
- 有符号整数反转