算法刷题记录——专题目录汇总
LeetCode 算法刷题(持续更新)
更新时间:2025-03-19
优先整理热门100及面试150,不定期持续更新,欢迎关注!
LeetCode 题号 | 解答与分析链接 |
---|---|
第1~100题 | (正在施工) |
第101~200题 | 算法刷题记录——LeetCode篇(2) |
第201~300题 | 算法刷题记录——LeetCode篇(3) |
第301~400题 | 算法刷题记录——LeetCode篇(4) |
第401~500题 | 算法刷题记录——LeetCode篇(5) |
第501~600题 | 算法刷题记录——LeetCode篇(6) |
第601~700题 | (正在施工) |
第701~800题 | 算法刷题记录——LeetCode篇(8) |
第801~900题 | (正在施工) |
第901~1000题 | 算法刷题记录——LeetCode篇(10) |
第1001~1100题 | (正在施工) |
第1101~1200题 | 算法刷题记录——LeetCode篇(12) |
LeetCode 热题 100 目录
一、哈希
-
1-两数之和 (简单)
数组 哈希表 -
49-字母异位词分组 (中等)
数组 哈希表 字符串 排序 -
128-最长连续序列 (中等)
并查集 数组 哈希表
二、双指针
-
283-移动零 (简单)
数组 双指针 -
11-盛最多水的容器 (中等)
贪心 数组 双指针 -
15-三数之和 (中等)
数组 双指针 排序 -
42-接雨水 (困难)
栈 数组 双指针 动态规划 单调栈
三、滑动窗口
-
3-无重复字符的最长子串 (中等)
哈希表 字符串 滑动窗口 -
438-找到字符串中所有字母异位词 (中等)
哈希表 字符串 滑动窗口
四、子串
-
560-和为 K 的子数组 (中等)
数组 哈希表 前缀和 -
239-滑动窗口最大值 (困难)
队列 数组 滑动窗口 单调队列 堆/优先队列 -
76-最小覆盖子串 (困难)
哈希表 字符串 滑动窗口
五、普通数组
-
53-最大子数组和 (中等)
数组 分治 动态规划 -
56-合并区间 (中等)
数组 排序 -
189-轮转数组 (中等)
数组 数学 双指针 -
238-除自身以外数组的乘积 (中等)
数组 前缀和 -
41-缺失的第一个正数 (困难)
数组 哈希表
六、矩阵
-
73-矩阵置零 (中等)
数组 哈希表 矩阵 -
54-螺旋矩阵 (中等)
数组 矩阵 模拟 -
48-旋转图像 (中等)
数组 数学 矩阵 -
240-搜索二维矩阵 II (中等)
数组 二分查找 分治 矩阵
七、链表
-
160-相交链表 (简单)
哈希表 链表 双指针 -
206-反转链表 (简单)
递归 链表 -
234-回文链表 (简单)
栈 递归 链表 双指针 -
141-环形链表 (简单)
哈希表 链表 双指针 -
142-环形链表 II (中等)
哈希表 链表 双指针 -
21-合并两个有序链表 (简单)
递归 链表 -
2-两数相加 (中等)
递归 链表 数学 -
19-删除链表的倒数第 N 个结点 (中等)
链表 双指针 -
24-两两交换链表中的节点 (中等)
递归 链表 -
25-K 个一组翻转链表 (困难)
递归 链表 -
138-随机链表的复制 (中等)
哈希表 链表 -
148-排序链表 (中等)
链表 双指针 分治 排序 归并排序 -
23-合并 K 个升序链表 (困难)
链表 分治 堆/优先队列 归并排序 -
146-LRU 缓存 (中等)
设计 哈希表 链表 双向链表
八、二叉树
-
94-二叉树的中序遍历
栈 树 深度优先搜索 二叉树 -
104-二叉树的最大深度
树 深度优先搜索 广度优先搜索 二叉树 -
226-翻转二叉树
树 深度优先搜索 广度优先搜索 二叉树 -
101-对称二叉树
树 深度优先搜索 广度优先搜索 二叉树 -
543-二叉树的直径
树 深度优先搜索 二叉树 -
102-二叉树的层序遍历
树 广度优先搜索 二叉树 -
108-将有序数组转换为二叉搜索树
树 二叉搜索树 数组 分治 二叉树 -
98-验证二叉搜索树
树 深度优先搜索 二叉搜索树 二叉树 -
230-二叉搜索树中第 K 小的元素
树 深度优先搜索 二叉搜索树 二叉树 -
199-二叉树的右视图
树 深度优先搜索 广度优先搜索 二叉树 -
114-二叉树展开为链表
栈 树 深度优先搜索 链表 二叉树 -
105-从前序与中序遍历序列构造二叉树
树 数组 哈希表 分治 二叉树 -
437-路径总和 III
树 深度优先搜索 二叉树 -
236-二叉树的最近公共祖先
树 深度优先搜索 二叉树 -
124-二叉树中的最大路径和
树 深度优先搜索 动态规划 二叉树
九、图论
-
200-岛屿数量
深度优先搜索 广度优先搜索 并查集 数组 矩阵 -
994-腐烂的橘子
广度优先搜索 数组 矩阵 -
207-课程表
深度优先搜索 广度优先搜索 图 拓扑排序 -
208-实现 Trie (前缀树)
设计 字典树 哈希表 字符串
十、回溯
-
46-全排列
数组 回溯 -
78-子集
位运算 数组 回溯 -
17-电话号码的字母组合
哈希表 字符串 回溯 -
39-组合总和
数组 回溯 -
22-括号生成
字符串 动态规划 回溯 -
79-单词搜索
深度优先搜索 数组 字符串 回溯 矩阵 -
131-分割回文串
字符串 动态规划 回溯 -
51-N皇后
数组 回溯
十一、二分查找
-
35-搜索插入位置
数组 二分查找 -
74-搜索二维矩阵
数组 二分查找 矩阵 -
34-在排序数组中查找元素的第一个和最后一个位置
数组 二分查找 -
33-搜索旋转排序数组
数组 二分查找 -
153-寻找旋转排序数组中的最小值
数组 二分查找 -
4-寻找两个正序数组的中位数
数组 二分查找 分治
十二、栈
-
20-有效的括号
栈 字符串 -
155-最小栈
栈 设计 -
394-字符串解码
栈 递归 字符串 -
739-每日温度
栈 数组 单调栈 -
84-柱状图中最大的矩形
栈 数组 单调栈
十三、堆
-
215-数组中的第K个最大元素
数组 分治 快速选择 排序 堆/优先队列 -
347-前 K 个高频元素
数组 哈希表 分治 桶排序 计数 快速选择 排序 堆/优先队列 -
295-数据流的中位数
设计 双指针 数据流 排序 堆/优先队列
十四、贪心算法
-
121-买卖股票的最佳时机
数组 动态规划 -
55-跳跃游戏
贪心 数组 动态规划 -
45-跳跃游戏 II
贪心 数组 动态规划 -
763-划分字母区间
贪心 哈希表 双指针 字符串
十五、动态规划
-
70-爬楼梯
记忆化搜索 数学 动态规划 -
118-杨辉三角
数组 动态规划 -
-198打家劫舍
数组 动态规划 -
279-完全平方数
广度优先搜索 数学 动态规划 -
322-零钱兑换
广度优先搜索 数组 动态规划 -
139-单词拆分
字典树 记忆化搜索 数组 哈希表 字符串 动态规划 -
300-最长递增子序列
数组 二分查找 动态规划 -
152-乘积最大子数组
数组 动态规划 -
416-分割等和子集
数组 动态规划 -
32-最长有效括号
栈 字符串 动态规划
十六、多维动态规划
-
62-不同路径
数学 动态规划 组合数学 -
64-最小路径和
数组动态规划 矩阵 -
5-最长回文子串
双指针 字符串 动态规划 -
1143-最长公共子序列
字符串 动态规划 -
72-编辑距离
字符串 动态规划
十七、技巧类
-
136-只出现一次的数字
位运算 数组 -
169-多数元素
数组 哈希表 分治 计数 排序 -
75-颜色分类
数组 双指针 排序 -
31-下一个排列
数组 双指针 -
287-寻找重复数
位运算 数组 双指针 二分查找
(持续更新,未完待续)