项目说明
LeetCode 系列题解致力于帮助程序员更好地理解和掌握算法思维,内容包含详细的解题思路分析、图文并茂的示例讲解和完整的代码实现。
LeetCode 最全题解:持续更新中,欢迎 Star ⭐️ 关注,一起探讨算法之美。
(超出掘金文章字数限制,全部题解请看:github.com/LjyYano/Lee…
LeetCode 题解(非会员题目)
| 题号 | 题解 | 代码 | 标签 | 难度 |
|---|---|---|---|---|
| 1 | 两数之和 | L0001 | 数组 哈希表 | 简单 |
| 2 | 两数相加 | L0002 | 链表 数学 | 中等 |
| 3 | 无重复字符的最长子串 | L0003 | 字符串 哈希表 滑动窗口 | 中等 |
| 4 | 寻找两个正序数组的中位数 | L0004 | 数组 二分查找 分治 | 困难 |
| 5 | 最长回文子串 | L0005 | 字符串 动态规划 | 中等 |
| 6 | Z 字形变换 | L0006 | 字符串 | 中等 |
| 7 | 整数反转 | L0007 | 数学 | 中等 |
| 8 | 字符串转换整数 (atoi) | L0008 | 字符串 | 中等 |
| 9 | 回文数 | L0009 | 数学 | 简单 |
| 10 | 正则表达式匹配 | L0010 | 字符串 动态规划 递归 | 困难 |
| 11 | 盛最多水的容器 | L0011 | 数组 双指针 | 中等 |
| 12 | 整数转罗马数字 | L0012 | 数学 字符串 | 中等 |
| 13 | 罗马数字转整数 | L0013 | 数学 字符串 | 简单 |
| 14 | 最长公共前缀 | L0014 | 字符串 | 简单 |
| 15 | 三数之和 | L0015 | 数组 双指针 | 中等 |
| 16 | 最接近的三数之和 | L0016 | 数组 双指针 排序 | 中等 |
| 17 | 电话号码的字母组合 | L0017 | 字符串 回溯 | 中等 |
| 18 | 四数之和 | L0018 | 数组 双指针 排序 | 中等 |
| 19 | 删除链表的倒数第 N 个结点 | L0019 | 链表 双指针 | 中等 |
| 20 | 有效的括号 | L0020 | 字符串 栈 | 简单 |
| 21 | 合并两个有序链表 | L0021 | 链表 | 简单 |
| 22 | 括号生成 | L0022 | 字符串 回溯 | 中等 |
| 23 | 合并 K 个升序链表 | L0023 | 链表 分治 堆 | 困难 |
| 24 | 两两交换链表中的节点 | L0024 | 链表 | 中等 |
| 25 | K 个一组翻转链表 | L0025 | 链表 | 困难 |
| 26 | 删除有序数组中的重复项 | L0026 | 数组 双指针 | 简单 |
| 27 | 移除元素 | L0027 | 数组 双指针 | 简单 |
| 28 | 实现 strStr() | L0028 | 字符串 双指针 | 简单 |
| 29 | 两数相除 | L0029 | 位运算 数学 | 中等 |
| 30 | 串联所有单词的子串 | L0030 | 字符串 哈希表 滑动窗口 | 困难 |
| 31 | 下一个排列 | L0031 | 数组 双指针 | 中等 |
| 32 | 最长有效括号 | L0032 | 字符串 动态规划 栈 | 困难 |
| 33 | 搜索旋转排序数组 | L0033 | 数组 二分查找 | 中等 |
| 34 | 在排序数组中查找元素的第一个和最后一个位置 | L0034 | 数组 二分查找 | 中等 |
| 35 | 搜索插入位置 | L0035 | 数组 二分查找 | 简单 |
| 36 | 有效的数独 | L0036 | 数组 哈希表 | 中等 |
| 37 | 解数独 | L0037 | 数组 回溯 | 困难 |
| 38 | 外观数列 | L0038 | 字符串 | 中等 |
| 39 | 组合总和 | L0039 | 数组 回溯 | 中等 |
| 40 | 组合总和 II | L0040 | 数组 回溯 | 中等 |
| 41 | 缺失的第一个正数 | L0041 | 数组 哈希表 | 困难 |
| 42 | 接雨水 | L0042 | 栈 数组 双指针 | 困难 |
| 43 | 字符串相乘 | L0043 | 数学 字符串 | 中等 |
| 44 | 通配符匹配 | L0044 | 贪心 字符串 动态规划 | 困难 |
| 45 | 跳跃游戏 II | L0045 | 数组 贪心 | 中等 |
| 46 | 全排列 | L0046 | 数组 回溯 | 中等 |
| 47 | 全排列 II | L0047 | 数组 回溯 | 中等 |
| 48 | 旋转图像 | L0048 | 数组 数学 矩阵 | 中等 |
| 49 | 字母异位词分组 | L0049 | 数组 哈希表 字符串 | 中等 |
| 50 | Pow(x, n) | L0050 | 递归 数学 | 中等 |
| 51 | N 皇后 | L0051 | 数组 回溯 | 困难 |
| 52 | N 皇后 II | L0052 | 回溯 | 困难 |
| 53 | 最大子数组和 | L0053 | 数组 分治 动态规划 | 中等 |
| 54 | 螺旋矩阵 | L0054 | 数组 矩阵 模拟 | 中等 |
| 55 | 跳跃游戏 | L0055 | 贪心 数组 动态规划 | 中等 |
| 56 | 合并区间 | L0056 | 数组 排序 | 中等 |
| 57 | 插入区间 | L0057 | 数组 | 中等 |
| 58 | 最后一个单词的长度 | L0058 | 字符串 | 简单 |
| 59 | 螺旋矩阵 II | L0059 | 数组 矩阵 模拟 | 中等 |
| 60 | 排列序列 | L0060 | 数学 回溯 | 困难 |
| 61 | 旋转链表 | L0061 | 链表 双指针 | 中等 |
| 62 | 不同路径 | L0062 | 数学 动态规划 组合数学 | 中等 |
| 63 | 不同路径 II | L0063 | 数组 动态规划 | 中等 |
| 64 | 最小路径和 | L0064 | 数组 动态规划 | 中等 |
| 65 | 有效数字 | L0065 | 字符串 | 困难 |
| 66 | 加一 | L0066 | 数组 数学 | 简单 |
| 67 | 二进制求和 | L0067 | 位运算 数学 字符串 | 简单 |
| 68 | 文本左右对齐 | L0068 | 字符串 模拟 | 困难 |
| 69 | x 的平方根 | L0069 | 数学 二分查找 | 简单 |
| 70 | 爬楼梯 | L0070 | 记忆化搜索 数学 动态规划 | 简单 |
| 71 | 简化路径 | L0071 | 栈 字符串 | 中等 |
| 72 | 编辑距离 | L0072 | 字符串 动态规划 | 困难 |
| 73 | 矩阵置零 | L0073 | 数组 哈希表 矩阵 | 中等 |
| 74 | 搜索二维矩阵 | L0074 | 数组 二分查找 矩阵 | 中等 |
| 75 | 颜色分类 | L0075 | 数组 双指针 排序 | 中等 |
| 76 | 最小覆盖子串 | L0076 | 哈希表 字符串 滑动窗口 | 困难 |
| 77 | 组合 | L0077 | 回溯 | 中等 |
| 78 | 子集 | L0078 | 位运算 数组 回溯 | 中等 |
| 79 | 单词搜索 | L0079 | 数组 回溯 矩阵 | 中等 |
| 80 | 删除有序数组中的重复项 II | L0080 | 数组 双指针 | 中等 |
| 81 | 搜索旋转排序数组 II | L0081 | 数组 二分查找 | 中等 |
| 82 | 删除排序链表中的重复元素 II | L0082 | 链表 双指针 | 中等 |
| 83 | 删除排序链表中的重复元素 | L0083 | 链表 | 简单 |
| 84 | 柱状图中最大的矩形 | L0084 | 栈 数组 单调栈 | 困难 |
| 85 | 最大矩形 | L0085 | 栈 数组 动态规划 矩阵 | 困难 |
| 86 | 分隔链表 | L0086 | 链表 双指针 | 中等 |
| 87 | 扰乱字符串 | L0087 | 字符串 动态规划 | 困难 |
| 88 | 合并两个有序数组 | L0088 | 数组 双指针 排序 | 简单 |
| 89 | 格雷编码 | L0089 | 位运算 数学 回溯 | 中等 |
| 90 | 子集 II | L0090 | 位运算 数组 回溯 | 中等 |
| 91 | 解码方法 | L0091 | 字符串 动态规划 | 中等 |
| 92 | 反转链表 II | L0092 | 链表 | 中等 |
| 93 | 复原 IP 地址 | L0093 | 字符串 回溯 | 中等 |
| 94 | 二叉树的中序遍历 | L0094 | 栈 树 深度优先搜索 | 简单 |
| 95 | 不同的二叉搜索树 II | L0095 | 树 二叉搜索树 动态规划 | 中等 |
| 96 | 不同的二叉搜索树 | L0096 | 树 二叉搜索树 数学 动态规划 | 中等 |
| 97 | 交错字符串 | L0097 | 字符串 动态规划 | 中等 |
| 98 | 验证二叉搜索树 | L0098 | 树 深度优先搜索 二叉搜索树 | 中等 |
| 99 | 恢复二叉搜索树 | L0099 | 树 深度优先搜索 二叉搜索树 | 中等 |
| 100 | 相同的树 | L0100 | 树 深度优先搜索 广度优先搜索 | 简单 |
| 101 | 对称二叉树 | L0101 | 树 深度优先搜索 广度优先搜索 | 简单 |
| 102 | 二叉树的层序遍历 | L0102 | 树 广度优先搜索 二叉树 | 中等 |
| 103 | 二叉树的锯齿形层序遍历 | L0103 | 树 广度优先搜索 二叉树 | 中等 |
| 104 | 二叉树的最大深度 | L0104 | 树 深度优先搜索 广度优先搜索 | 简单 |
| 105 | 从前序与中序遍历序列构造二叉树 | L0105 | 树 数组 哈希表 分治 二叉树 | 中等 |
| 106 | 从中序与后序遍历序列构造二叉树 | L0106 | 树 数组 哈希表 分治 二叉树 | 中等 |
| 107 | 二叉树的层序遍历 II | L0107 | 树 广度优先搜索 二叉树 | 中等 |
| 108 | 将有序数组转换为二叉搜索树 | L0108 | 树 二叉搜索树 数组 分治 二叉树 | 简单 |
| 109 | 有序链表转换二叉搜索树 | L0109 | 树 二叉搜索树 链表 分治 二叉树 | 中等 |
| 110 | 平衡二叉树 | L0110 | 树 深度优先搜索 二叉树 | 简单 |
| 111 | 二叉树的最小深度 | L0111 | 树 深度优先搜索 广度优先搜索 | 简单 |
| 112 | 路径总和 | L0112 | 树 深度优先搜索 二叉树 | 简单 |
| 113 | 路径总和 II | L0113 | 树 深度优先搜索 回溯 二叉树 | 中等 |
| 114 | 二叉树展开为链表 | L0114 | 树 栈 链表 深度优先搜索 二叉树 | 中等 |
| 115 | 不同的子序列 | L0115 | 字符串 动态规划 | 困难 |
| 116 | 填充每个节点的下一个右侧节点指针 | L0116 | 树 深度优先搜索 广度优先搜索 链表 二叉树 | 中等 |
| 117 | 填充每个节点的下一个右侧节点指针 II | L0117 | 树 深度优先搜索 广度优先搜索 链表 二叉树 | 中等 |
| 118 | 杨辉三角 | L0118 | 数组 动态规划 | 简单 |
| 119 | 杨辉三角 II | L0119 | 数组 动态规划 | 简单 |
| 120 | 三角形最小路径和 | L0120 | 数组 动态规划 | 中等 |
| 121 | 买卖股票的最佳时机 | L0121 | 数组 动态规划 | 简单 |
| 122 | 买卖股票的最佳时机 II | L0122 | 数组 贪心算法 | 中等 |
| 123 | 买卖股票的最佳时机 III | L0123 | 数组 动态规划 | 困难 |
| 124 | 二叉树中的最大路径和 | L0124 | 树 深度优先搜索 动态规划 | 困难 |
| 125 | 验证回文串 | L0125 | 双指针 字符串 | 简单 |
| 126 | 单词接龙 II | L0126 | 广度优先搜索 哈希表 字符串 | 困难 |
| 127 | 单词接龙 | L0127 | 广度优先搜索 哈希表 字符串 | 困难 |
| 128 | 最长连续序列 | L0128 | 并查集 数组 哈希表 | 中等 |
| 129 | 求根节点到叶节点数字之和 | L0129 | 树 深度优先搜索 | 中等 |
| 130 | 被围绕的区域 | L0130 | 深度优先搜索 广度优先搜索 并查集 | 中等 |
| 131 | 分割回文串 | L0131 | 回溯算法 动态规划 | 中等 |
| 132 | 分割回文串 II | L0132 | 动态规划 字符串 | 困难 |
| 133 | 克隆图 | L0133 | 深度优先搜索 广度优先搜索 图 | 中等 |
| 134 | 加油站 | L0134 | 贪心算法 | 中等 |
| 135 | 分发糖果 | L0135 | 贪心算法 | 困难 |
| 136 | 只出现一次的数字 | L0136 | 位运算 哈希表 | 简单 |
| 137 | 只出现一次的数字 II | L0137 | 位运算 | 中等 |
| 138 | 复制带随机指针的链表 | L0138 | 哈希表 链表 | 中等 |
| 139 | 单词拆分 | L0139 | 动态规划 字典树 | 中等 |
| 140 | 单词拆分 II | L0140 | 回溯算法 动态规划 | 困难 |
| 141 | 环形链表 | L0141 | 哈希表 链表 双指针 | 简单 |
| 142 | 环形链表 II | L0142 | 哈希表 链表 双指针 | 中等 |
| 143 | 重排链表 | L0143 | 链表 双指针 | 中等 |
| 144 | 二叉树的前序遍历 | L0144 | 栈 树 | 中等 |
| 145 | 二叉树的后序遍历 | L0145 | 栈 树 | 困难 |
| 146 | LRU缓存机制 | L0146 | 设计 哈希表 链表 | 困难 |
| 147 | 对链表进行插入排序 | L0147 | 链表 排序 | 中等 |
| 148 | 排序链表 | L0148 | 链表 双指针 分治 排序 归并排序 | 中等 |
| 149 | 直线上最多的点数 | L0149 | 哈希表 数学 | 困难 |
| 150 | 逆波兰表达式求值 | L0150 | 栈 | 中等 |
| 151 | 翻转字符串里的单词 | L0151 | 字符串 | 中等 |
| 152 | 乘积最大子数组 | L0152 | 数组 动态规划 | 中等 |
| 153 | 寻找旋转排序数组中的最小值 | L0153 | 数组 二分查找 | 中等 |
| 154 | 寻找旋转排序数组中的最小值 II | L0154 | 数组 二分查找 | 困难 |
| 155 | 最小栈 | L0155 | 栈 设计 | 简单 |
| 160 | 相交链表 | L0160 | 链表 双指针 | 简单 |
| 162 | 寻找峰值 | L0162 | 数组 二分查找 | 中等 |
| 164 | 最大间距 | L0164 | 排序 桶排序 | 困难 |
| 165 | 比较版本号 | L0165 | 字符串 | 中等 |
| 166 | 分数到小数 | L0166 | 哈希表 数学 字符串 | 中等 |
| 167 | 两数之和 II - 输入有序数组 | L0167 | 数组 双指针 二分查找 | 简单 |
| 168 | Excel表列名称 | L0168 | 数学 字符串 | 简单 |
| 169 | 多数元素 | L0169 | 数组 哈希表 分治 计数 排序 | 简单 |
| 171 | Excel表列序号 | L0171 | 数学 字符串 | 简单 |
| 172 | 阶乘后的零 | L0172 | 数学 | 简单 |
| 173 | 二叉搜索树迭代器 | L0173 | 栈 树 设计 | 中等 |
| 174 | 地下城游戏 | L0174 | 数组 动态规划 矩阵 | 困难 |
| 175 | 组合两个表 | L0175 | JOIN操作 数据库 | 简单 |
| 176 | 第二高的薪水 | L0176 | 子查询 聚合函数 | 简单 |
| 177 | 第N高的薪水 | L0177 | 窗口函数 自定义函数 | 中等 |
| 178 | 分数排名 | L0178 | 窗口函数 排序 | 中等 |
| 179 | 最大数 | L0179 | 排序 贪心 字符串 | 中等 |
| 180 | 连续出现的数字 | L0180 | 自连接 连续问题 | 中等 |
| 181 | 超过经理收入的员工 | L0181 | 自连接 比较查询 | 简单 |
| 182 | 查找重复的电子邮箱 | L0182 | 分组统计 HAVING子句 | 简单 |
| 183 | 从不订购的客户 | L0183 | 左连接 NULL判断 | 简单 |
| 184 | 部门工资最高的员工 | L0184 | 子查询 IN操作符 | 中等 |
| 185 | 部门工资前三高的所有员工 | L0185 | 子查询 关联比较 | 困难 |
| 187 | 重复的DNA序列 | L0187 | 哈希表 位运算 滑动窗口 | 中等 |
| 188 | 买卖股票的最佳时机 IV | L0188 | 动态规划 | 困难 |
| 189 | 轮转数组 | L0189 | 数组 数学 | 中等 |
| 190 | 颠倒二进制位 | L0190 | 位运算 | 简单 |
| 191 | 位1的个数 | L0191 | 位运算 | 简单 |
| 192 | 统计词频 | L0192 | 文本处理 统计 | 中等 |
| 193 | 有效电话号码 | L0193 | 正则表达式 | 简单 |
| 194 | 转置文件 | L0194 | 文本处理 转置 | 中等 |
| 195 | 第十行 | L0195 | Shell | 简单 |
| 196 | 删除重复的电子邮箱 | L0196 | 自连接删除 重复处理 | 简单 |
| 197 | 上升的温度 | L0197 | 日期函数 自连接 | 简单 |
| 198 | 部门工资中位数 | L0198 | 窗口函数 中位数计算 | 中等 |
| 199 | 最近的订单 | L0199 | 子查询 分组聚合 | 简单 |
| 200 | 第N高的工资 | L0200 | 窗口函数 自定义函数 | 中等 |
其他项目
coding 笔记、点滴记录,希望大家关注 ^_^