LeetCode 题解总目录
01_数组与哈希(含双指针、矩阵)(37 篇)
-
- 两数之和(Two Sum)
-
- 盛最多水的容器(Container With Most Water)
-
- 三数之和
-
- 有效的数独
-
- 删除有序数组中的重复项
-
- 下一个排列
-
- 缺失的第一个正数
-
- 接雨水(Trapping Rain Water)
-
- 旋转图像(Rotate Image)
-
- 字母异位词分组(Group Anagrams)
-
- 螺旋矩阵
-
- 合并区间(Merge Intervals)
-
- 矩阵置零
-
- 颜色分类
-
- 合并两个有序数组
-
- 验证回文串
-
- 最长连续序列(Longest Consecutive Sequence)
-
- 两数之和 II - 输入有序数组
-
- 多数元素(Majority Element)
-
- 旋转数组
-
- 存在重复元素(Contains Duplicate)
-
- 存在重复元素 II
-
- 除自身以外数组的乘积(Product of Array Except Self)
-
- 有效的字母异位词(Valid Anagram)
-
- 丢失的数字(Missing Number)
-
- 移动零(Move Zeroes)
-
- 寻找重复数(Find the Duplicate Number)
-
- 反转字符串中的元音字母
-
- 两个数组的交集(Intersection of Two Arrays)
-
- 两个数组的交集 II
-
- O(1) 时间插入、删除和获取随机元素
-
- 找到所有数组中消失的数字(Find All Numbers Disappeared in an Array)
-
- 连续数组
-
- 和为 K 的子数组
-
- 有效三角形的个数
-
- 验证回文串 II
02_字符串 (12 篇)
-
- 最长公共前缀
-
- 找出字符串中第一个匹配项的下标(KMP) ⭐常考
-
- 字符串相乘
-
- 最后一个单词的长度
-
- 复原 IP 地址
-
- 验证回文串 ⭐常考
-
- 反转字符串中的单词
-
- 比较版本号
-
- 反转字符串
-
- 判断子序列
-
- 字符串相加
-
- 字符串转换整数 (atoi)
03_栈与队列 (7 篇)
-
- 有效括号(Valid Parentheses)
-
- 柱状图中最大的矩形 💀困难
-
- 最小栈
-
- 用队列实现栈
-
- 用栈实现队列
-
- 字符串解码
-
- 每日温度 ⭐常考
04_链表 (19 篇)
-
- 两数相加 ⭐常考
-
- 删除链表的倒数第 N 个结点
-
- 合并两个有序链表(Merge Two Sorted Lists)
-
- 两两交换链表中的节点(Swap Nodes in Pairs)
-
- K 个一组翻转链表 ⭐常考
-
- 旋转链表
-
- 删除排序链表中的重复元素 II
-
- 删除排序链表中的重复元素
-
- 分隔链表
-
- 反转链表 II
-
- 复制带随机指针的链表 ⭐常考
-
- 环形链表(Linked List Cycle)
-
- 环形链表 II(Linked List Cycle II)
-
- 重排链表
-
- 排序链表
-
- 相交链表
-
- 反转链表(Reverse Linked List) ⭐常考
-
- 回文链表
-
- 寻找重复数(数组版快慢指针)
05_二叉树 (22 篇)
-
- 二叉树的中序遍历(Binary Tree Inorder Traversal) ⭐常考
-
- 验证二叉搜索树(Validate Binary Search Tree) ⭐常考
-
- 对称二叉树(Symmetric Tree) ⭐常考
-
- 二叉树的层序遍历(Binary Tree Level Order Traversal) ⭐常考
-
- 二叉树的锯齿形层序遍历(Binary Tree Zigzag Level Order Traversal) ⭐常考
-
- 二叉树的最大深度(Maximum Depth of Binary Tree) ⭐常考
-
- 从前序与中序遍历序列构造二叉树 ⭐常考
-
- 将有序数组转换为二叉搜索树(Convert Sorted Array to Binary Search Tree)
-
- 平衡二叉树(Balanced Binary Tree)
-
- 路径总和(Path Sum)
-
- 二叉树展开为链表(Flatten Binary Tree to Linked List) ⭐常考
-
- 二叉树中的最大路径和(Binary Tree Maximum Path Sum) 💀困难
-
- 二叉树的前序遍历(Binary Tree Preorder Traversal) ⭐常考
-
- 二叉树的后序遍历(Binary Tree Postorder Traversal)
-
- 二叉树的右视图(Binary Tree Right Side View)
-
- 翻转二叉树(Invert Binary Tree) ⭐常考
-
- 二叉搜索树中第K小的元素(Kth Smallest Element in a BST)
-
- 二叉树的最近公共祖先(Lowest Common Ancestor of a Binary Tree) ⭐常考
-
- 二叉树的序列化与反序列化(Serialize and Deserialize Binary Tree) 💀困难
-
- 路径总和 III(Path Sum III)
-
- 二叉树的直径(Diameter of Binary Tree)
-
- 另一棵树的子树(Subtree of Another Tree)
-
- 二叉树剪枝(Binary Tree Pruning)
06_堆 (3 篇)
-
- 数组中的第K个最大元素(Kth Largest Element in an Array) ⭐常考
-
- 前 K 个高频元素(Top K Frequent Elements) ⭐常考
-
- 数据流的中位数(Find Median from Data Stream) 💀困难
07_排序 (3 篇)
-
- 排序数组(手撕快排) ⭐常考
- 手撕归并排序(Merge Sort) ⭐常考
- 手撕堆排序(Heap Sort) ⭐常考
08_二分查找 (13 篇)
-
- 寻找两个正序数组的中位数 💀困难
-
- 搜索旋转排序数组(Search in Rotated Sorted Array) ⭐常考
-
- 在排序数组中查找元素的第一个和最后一个位置 ⭐常考
-
- 搜索插入位置(Search Insert Position)
-
- Pow(x, n)
-
- x 的平方根(Sqrt(x))
-
- 搜索二维矩阵(Search a 2D Matrix)
-
- 寻找峰值(Find Peak Element)
-
- 第一个错误的版本(First Bad Version)
-
- 有序矩阵中第 K 小的元素
-
- 搜索二维矩阵 II(Search a 2D Matrix II)
-
- 寻找旋转排序数组中的最小值
-
- 二分查找(Binary Search)
09_滑动窗口 (7 篇)
-
- 无重复字符的最长子串(Longest Substring Without Repeating Characters) ⭐常考
-
- 串联所有单词的子串(Substring with Concatenation of All Words) 💀困难
-
- 最小覆盖子串(Minimum Window Substring) 💀困难
-
- 长度最小的子数组(Minimum Size Subarray Sum)
-
- 滑动窗口最大值(Sliding Window Maximum) 💀困难
-
- 找到字符串中所有字母异位词(Find All Anagrams in a String)
-
- 字符串的排列(Permutation in String)
10_回溯 (12 篇)
-
- 电话号码的字母组合
-
- 括号生成(Generate Parentheses)
-
- 组合总和(Combination Sum)
-
- 组合总和 II(Combination Sum II)
-
- 全排列(Permutations)
-
- 全排列 II(Permutations II)
-
- N 皇后(N-Queens) 💀困难
-
- 组合(Combinations)
-
- 子集(Subsets)
-
- 单词搜索(Word Search)
-
- 子集 II(Subsets II)
-
- 分割回文串
11_贪心 (10 篇)
-
- 跳跃游戏 II(Jump Game II)
-
- 跳跃游戏(Jump Game)
-
- 买卖股票的最佳时机 II
-
- 加油站(Gas Station)
-
- 根据身高重建队列(Queue Reconstruction by Height)
-
- 无重叠区间(Non-overlapping Intervals)
-
- 用最少数量的箭引爆气球(Minimum Number of Arrows to Burst Balloons)
-
- 任务调度器(Task Scheduler)
-
- 划分字母区间(Partition Labels)
-
- 买卖股票的最佳时机(Best Time to Buy and Sell Stock)
12_图论 (9 篇)
-
- 被围绕的区域
-
- 岛屿数量 ⭐常考
-
- 课程表
-
- 课程表 II
-
- 太平洋大西洋水流问题
-
- 省份数量
-
- 冗余连接
-
- 岛屿的最大面积
-
- 腐烂的橘子
13_动态规划 (25 篇)
-
- 最长回文子串
-
- 最长有效括号
-
- 不同路径(Unique Paths)
-
- 不同路径 II
-
- 最小路径和
-
- 爬楼梯(Climbing Stairs)
-
- 编辑距离
-
- 解码方法
-
- 杨辉三角(Pascal’s Triangle)
-
- 三角形最小路径和
-
- 单词拆分
-
- 乘积最大子数组
-
- 打家劫舍
-
- 打家劫舍 II
-
- 最大正方形
-
- 完全平方数
-
- 最长递增子序列
-
- 最佳买卖股票时机含冷冻期 💀含冷冻期
-
- 零钱兑换
-
- 打家劫舍 III 💀树形DP
-
- 分割等和子集
-
- 目标和
-
- 回文子串
-
- 最小花费爬楼梯
-
- 最长公共子序列
14_数学与位运算 (6 篇)
-
- 只出现一次的数字
-
- 阶乘后的零(Factorial Trailing Zeroes)
-
- 位1的个数(Number of 1 Bits)
-
- 快乐数(Happy Number)
-
- 2的幂(Power of Two)
-
- 用 Rand7 实现 Rand10
15_设计题 (2 篇)
-
- LRU 缓存(LRU Cache) ⭐常考
-
- 实现 Trie (前缀树)
16_SQL高频 (6 篇)
-
- 组合两个表(Combine Two Tables)
-
- 第二高的薪水(Second Highest Salary)
-
- 第N高的薪水(Nth Highest Salary)
-
- 分数排名(Rank Scores)
-
- 连续出现的数字(Consecutive Numbers)
-
- 部门工资最高的员工(Department Highest Salary)
相关链接
- 📋 全局导航:00-全局导航
- 📚 八股文笔记:八股文学习路线图
- 📝 刷题清单:LeetCode学习路线图