栈和队列
- LC115 获取最小的栈
- LC20 有效的括号
- LC232 用两个栈实现队列
滑动窗口:
- LC3 无重复字符的最长子串
双指针:
- LC26 删除数组中的重复数字
- LC42 接雨水
- LC11 盛最多水的容器
- LC15 三数之和
- LC18 四数之和
链表:
- LC2 两数相加
- LC21 合并两个有序链表
- LC160 相交链表
- LC25 K个一组翻转链表
- LC19 删除链表中倒数第n个链表
- LC141 判断链表是否有环
- LC142 找到链表中相交的环的节点
- LC234 判断是否是回文链表
- LC81 删除链表中的重复数字
- LC82 删除链表中的重复数字
- LC92 反转m到n位置的链表
- LC234 回文链表
- JZ06 从头到尾打印链表
树:
- LC101 对称的二叉树
- LC114 二叉树转化为链表
- LC116 填充每一个节点的下一个右侧指针
- LC124 二叉树的最大路径和
- LC144 二叉树的前序遍历
- LC145 二叉树的后序遍历
- LC119 二叉树的右视图
- LC230 二叉搜索树的中第K小个节点
- JZ54 二叉搜索树的第K大个节点
- JZ33 二叉搜索树的后序遍历
- JZ34 二叉树中和为某一值的路径
- JZ68 二叉搜索树的最近公共祖先
- LC662 二叉树的最大宽度
回溯:
- LC47 全排列
- LC200 岛屿数量
BFS:
动态规划:
- LC5 最长回文子串
- LC53 最大的子序列和
- LC516 最长回文子序列
- LC121、122、123股票系列问题
排序算法: