Leetcode归类

主题系列

排序

合并

数据结构构造

括号系列

  • [22][中等][回溯][BFS] 括号生成

  • [32][困难][动态规划][栈] 最长有效括号

字符串系列

字符串匹配

最X系列

  • [5][中等][动态规划] 最长回文子串

公共子序列/子串

回文

  • [5][中等][动态规划] 最长回文子串

  • [131][中等][DFS][回溯][动态规划] 分割回文串

  • [132][困难][DFS][回溯][动态规划] 分割回文串 II

  • [516][中等][动态规划] 最长回文子序列

  • [647][中等][动态规划] 回文子串

数组

最X系列

  • [53][简单][动态规划][分治] 最大子序和

最长递增子序列(LIS)

动态规划解法合集: 穿上衣服我就不认识你了?来聊聊最长上升子序列

最长公共子序列(LCS)

前缀和

数字定位

数字缺失

出现次数

矩阵

有序二维矩阵

  • [378][中等][堆][二分] 有序矩阵中第K小的元素

  • [剑指Offer-04][简单] 二维数组中的查找

四方向搜索

岛屿类问题

路径到达方案

买卖股票的最佳时机系列

解法参考: 一个方法团灭 6 道股票问题

原地操作

逆向思维系列

数学

中位数

规律题

限定迭代范围

  • [264][中等][动态规划][三指针][堆] 丑数 II

幂系列

丑数系列

  • [263][简单][回溯] 丑数

  • [264][中等][动态规划][三指针][堆] 丑数 II

  • [313][中等][堆] 超级丑数

N数之和

极小化极大值

数据流

  • [295][困难][二分][堆] 数据流的中位数

遍历技巧

外层到内层

哨兵技巧

链表

dummy节点

  • [82][中等][DFS] 删除排序链表中的重复元素 II

比较大小, 防止越界

指定数据结构系列

树的遍历

彻底吃透前中后序递归法(递归三部曲)和迭代法(不统一写法与统一写法)

前序应用

中序应用

后序应用

  • [剑指Offer-33][中等][分治] 二叉搜索树的后序遍历序列

层序应用

  • [297][困难][BFS] 二叉树的序列化与反序列化

二叉树与栈

二叉树左右子树递归

二叉树的遍历

平衡树

搜索树

树的路径

最X系列

单调栈

对于寻找最近一个比当前值小大/小的问题, 都可以使用单调栈来解决.

运算过程实现

哈希

原地哈希

  • [41][困难][原地哈希] 缺失的第一个正数

链表

链表反转

删除重复元素

  • [83][简单][双指针][DFS] 删除排序链表中的重复元素

  • [82][中等][DFS] 删除排序链表中的重复元素 II

指定算法系列

回溯

递归生成

动态规划

背包问题

01背包问题

完全背包问题

完全背包问题, 由于状态转移方程, 要遍历多个位置取最值, 因此经常可以转化成遍历的问题, 使用DFSBFS的思路进行解决.

多维背包

带有放入顺序限制的背包

放入物品的顺序如果有限制, 一般会先循环背包限制, 再循环每种物品, 因为放入顺序会产生影响的物品, 一般都是特殊的物品, 状态转移需要每种物品单独考虑:

滑动窗口

我写了一首诗,把滑动窗口算法变成了默写题

双指针

快慢指针

前后指针

左右指针

双链表

  • [160][简单][双指针] 相交链表

二分图

  • [785][中等][BFS][DFS][并查集] 判断二分图

最后更新于

这有帮助吗?