04. LeetCode 题解(字典序排序)
大约 90 分钟
LeetCode 题解(已完成 823 道)
题号 | 标题 | 题解 | 标签 | 难度 |
---|---|---|---|---|
0001 | 两数之和 | Python | 数组、哈希表 | 简单 |
0002 | 两数相加 | Python | 递归、链表、数学 | 中等 |
0003 | 无重复字符的最长子串 | Python | 哈希表、字符串、滑动窗口 | 中等 |
0004 | 寻找两个正序数组的中位数 | Python | 数组、二分查找、分治 | 困难 |
0005 | 最长回文子串 | Python | 字符串、动态规划 | 中等 |
0007 | 整数反转 | Python | 数学 | 中等 |
0008 | 字符串转换整数 (atoi) | Python | 字符串 | 中等 |
0009 | 回文数 | Python | 数学 | 简单 |
0010 | 正则表达式匹配 | Python | 递归、字符串、动态规划 | 困难 |
0011 | 盛最多水的容器 | Python | 贪心、数组、双指针 | 中等 |
0012 | 整数转罗马数字 | Python | 哈希表、数学、字符串 | 中等 |
0013 | 罗马数字转整数 | Python | 哈希表、数学、字符串 | 简单 |
0014 | 最长公共前缀 | Python | 字典树、字符串 | 简单 |
0015 | 三数之和 | Python | 数组、双指针、排序 | 中等 |
0016 | 最接近的三数之和 | Python | 数组、双指针、排序 | 中等 |
0017 | 电话号码的字母组合 | Python | 哈希表、字符串、回溯 | 中等 |
0018 | 四数之和 | Python | 数组、双指针、排序 | 中等 |
0019 | 删除链表的倒数第 N 个结点 | Python | 链表、双指针 | 中等 |
0020 | 有效的括号 | Python | 栈、字符串 | 简单 |
0021 | 合并两个有序链表 | Python | 递归、链表 | 简单 |
0022 | 括号生成 | Python | 字符串、动态规划、回溯 | 中等 |
0023 | 合并 K 个升序链表 | Python | 链表、分治、堆(优先队列)、归并排序 | 困难 |
0024 | 两两交换链表中的节点 | Python | 递归、链表 | 中等 |
0025 | K 个一组翻转链表 | Python | 递归、链表 | 困难 |
0026 | 删除有序数组中的重复项 | Python | 数组、双指针 | 简单 |
0027 | 移除元素 | Python | 数组、双指针 | 简单 |
0028 | 找出字符串中第一个匹配项的下标 | Python | 双指针、字符串、字符串匹配 | 中等 |
0029 | 两数相除 | Python | 位运算、数学 | 中等 |
0032 | 最长有效括号 | Python | 栈、字符串、动态规划 | 困难 |
0033 | 搜索旋转排序数组 | Python | 数组、二分查找 | 中等 |
0034 | 在排序数组中查找元素的第一个和最后一个位置 | Python | 数组、二分查找 | 中等 |
0035 | 搜索插入位置 | Python | 数组、二分查找 | 简单 |
0036 | 有效的数独 | Python | 数组、哈希表、矩阵 | 中等 |
0037 | 解数独 | Python | 数组、哈希表、回溯、矩阵 | 困难 |
0038 | 外观数列 | Python | 字符串 | 中等 |
0039 | 组合总和 | Python | 数组、回溯 | 中等 |
0040 | 组合总和 II | Python | 数组、回溯 | 中等 |
0041 | 缺失的第一个正数 | Python | 数组、哈希表 | 困难 |
0042 | 接雨水 | Python | 栈、数组、双指针、动态规划、单调栈 | 困难 |
0043 | 字符串相乘 | Python | 数学、字符串、模拟 | 中等 |
0044 | 通配符匹配 | Python | 贪心、递归、字符串、动态规划 | 困难 |
0045 | 跳跃游戏 II | Python | 贪心、数组、动态规划 | 中等 |
0046 | 全排列 | Python | 数组、回溯 | 中等 |
0047 | 全排列 II | Python | 数组、回溯 | 中等 |
0048 | 旋转图像 | Python | 数组、数学、矩阵 | 中等 |
0049 | 字母异位词分组 | Python | 数组、哈希表、字符串、排序 | 中等 |
0050 | Pow(x, n) | Python | 递归、数学 | 中等 |
0051 | N 皇后 | Python | 数组、回溯 | 困难 |
0052 | N 皇后 II | Python | 回溯 | 困难 |
0053 | 最大子数组和 | Python | 数组、分治、动态规划 | 中等 |
0054 | 螺旋矩阵 | Python | 数组、矩阵、模拟 | 中等 |
0055 | 跳跃游戏 | Python | 贪心、数组、动态规划 | 中等 |
0056 | 合并区间 | Python | 数组、排序 | 中等 |
0058 | 最后一个单词的长度 | Python | 字符串 | 简单 |
0059 | 螺旋矩阵 II | Python | 数组、矩阵、模拟 | 中等 |
0061 | 旋转链表 | Python | 链表、双指针 | 中等 |
0062 | 不同路径 | Python | 数学、动态规划、组合数学 | 中等 |
0063 | 不同路径 II | Python | 数组、动态规划、矩阵 | 中等 |
0064 | 最小路径和 | Python | 数组、动态规划、矩阵 | 中等 |
0066 | 加一 | Python | 数组、数学 | 简单 |
0067 | 二进制求和 | Python | 位运算、数学、字符串、模拟 | 简单 |
0069 | x 的平方根 | Python | 数学、二分查找 | 简单 |
0070 | 爬楼梯 | Python | 记忆化搜索、数学、动态规划 | 简单 |
0072 | 编辑距离 | Python | 字符串、动态规划 | 困难 |
0073 | 矩阵置零 | Python | 数组、哈希表、矩阵 | 中等 |
0074 | 搜索二维矩阵 | Python | 数组、二分查找、矩阵 | 中等 |
0075 | 颜色分类 | Python | 数组、双指针、排序 | 中等 |
0076 | 最小覆盖子串 | Python | 哈希表、字符串、滑动窗口 | 困难 |
0077 | 组合 | Python | 回溯 | 中等 |
0078 | 子集 | Python | 位运算、数组、回溯 | 中等 |
0079 | 单词搜索 | Python | 数组、回溯、矩阵 | 中等 |
0080 | 删除有序数组中的重复项 II | Python | 数组、双指针 | 中等 |
0081 | 搜索旋转排序数组 II | Python | 数组、二分查找 | 中等 |
0082 | 删除排序链表中的重复元素 II | Python | 链表、双指针 | 中等 |
0083 | 删除排序链表中的重复元素 | Python | 链表 | 简单 |
0084 | 柱状图中最大的矩形 | Python | 栈、数组、单调栈 | 困难 |
0088 | 合并两个有序数组 | Python | 数组、双指针、排序 | 简单 |
0089 | 格雷编码 | Python | 位运算、数学、回溯 | 中等 |
0090 | 子集 II | Python | 位运算、数组、回溯 | 中等 |
0091 | 解码方法 | Python | 字符串、动态规划 | 中等 |
0092 | 反转链表 II | Python | 链表 | 中等 |
0093 | 复原 IP 地址 | Python | 字符串、回溯 | 中等 |
0094 | 二叉树的中序遍历 | Python | 栈、树、深度优先搜索、二叉树 | 简单 |
0095 | 不同的二叉搜索树 II | Python | 树、二叉搜索树、动态规划、回溯、二叉树 | 中等 |
0096 | 不同的二叉搜索树 | Python | 树、二叉搜索树、数学、动态规划、二叉树 | 中等 |
0098 | 验证二叉搜索树 | Python | 树、深度优先搜索、二叉搜索树、二叉树 | 中等 |
0100 | 相同的树 | Python | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0101 | 对称二叉树 | Python | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0102 | 二叉树的层序遍历 | Python | 树、广度优先搜索、二叉树 | 中等 |
0103 | 二叉树的锯齿形层序遍历 | Python | 树、广度优先搜索、二叉树 | 中等 |
0104 | 二叉树的最大深度 | Python | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0105 | 从前序与中序遍历序列构造二叉树 | Python | 树、数组、哈希表、分治、二叉树 | 中等 |
0106 | 从中序与后序遍历序列构造二叉树 | Python | 树、数组、哈希表、分治、二叉树 | 中等 |
0107 | 二叉树的层序遍历 II | Python | 树、广度优先搜索、二叉树 | 中等 |
0108 | 将有序数组转换为二叉搜索树 | Python | 树、二叉搜索树、数组、分治、二叉树 | 简单 |
0110 | 平衡二叉树 | Python | 树、深度优先搜索、二叉树 | 简单 |
0111 | 二叉树的最小深度 | Python | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0112 | 路径总和 | Python | 树、深度优先搜索、广度优先搜索、二叉树 | 简单 |
0113 | 路径总和 II | Python | 树、深度优先搜索、回溯、二叉树 | 中等 |
0115 | 不同的子序列 | Python | 字符串、动态规划 | 困难 |
0116 | 填充每个节点的下一个右侧节点指针 | Python | 树、深度优先搜索、广度优先搜索、链表、二叉树 | 中等 |
0117 | 填充每个节点的下一个右侧节点指针 II | Python | 树、深度优先搜索、广度优先搜索、链表、二叉树 | 中等 |
0118 | 杨辉三角 | Python | 数组、动态规划 | 简单 |
0119 | 杨辉三角 II | Python | 数组、动态规划 | 简单 |
0120 | 三角形最小路径和 | Python | 数组、动态规划 | 中等 |
0121 | 买卖股票的最佳时机 | Python | 数组、动态规划 | 简单 |
0122 | 买卖股票的最佳时机 II | Python | 贪心、数组 | 中等 |
0123 | 买卖股票的最佳时机 III | Python | 数组、动态规划 | 困难 |
0124 | 二叉树中的最大路径和 | Python | 树、深度优先搜索、动态规划、二叉树 | 困难 |
0125 | 验证回文串 | Python | 双指针、字符串 | 简单 |
0127 | 单词接龙 | Python | 广度优先搜索、哈希表、字符串 | 困难 |
0128 | 最长连续序列 | Python | 并查集、数组、哈希表 | 中等 |
0129 | 求根节点到叶节点数字之和 | Python | 树、深度优先搜索、二叉树 | 中等 |
0130 | 被围绕的区域 | Python | 深度优先搜索、广度优先搜索、并查集、数组、矩阵 | 中等 |
0131 | 分割回文串 | Python | 字符串、动态规划、回溯 | 中等 |
0133 | 克隆图 | Python | 深度优先搜索、广度优先搜索、图、哈希表 | 中等 |
0134 | 加油站 | Python | 贪心、数组 | 中等 |
0135 | 分发糖果 | Python | 贪心、数组 | 困难 |
0136 | 只出现一次的数字 | Python | 位运算、数组 | 简单 |
0137 | 只出现一次的数字 II | Python | 位运算、数组 | 中等 |
0138 | 复制带随机指针的链表 | Python | 哈希表、链表 | 中等 |
0139 | 单词拆分 | Python | 字典树、记忆化搜索、数组、哈希表、字符串、动态规划 | 中等 |
0140 | 单词拆分 II | Python | 字典树、记忆化搜索、数组、哈希表、字符串、动态规划、回溯 | 困难 |
0141 | 环形链表 | Python | 哈希表、链表、双指针 | 简单 |
0142 | 环形链表 II | Python | 哈希表、链表、双指针 | 中等 |
0143 | 重排链表 | Python | 栈、递归、链表、双指针 | 中等 |
0144 | 二叉树的前序遍历 | Python | 栈、树、深度优先搜索、二叉树 | 简单 |
0145 | 二叉树的后序遍历 | Python | 栈、树、深度优先搜索、二叉树 | 简单 |
0147 | 对链表进行插入排序 | Python | 链表、排序 | 中等 |
0148 | 排序链表 | Python | 链表、双指针、分治、排序、归并排序 | 中等 |
0149 | 直线上最多的点数 | Python | 几何、数组、哈希表、数学 | 困难 |
0150 | 逆波兰表达式求值 | Python | 栈、数组、数学 | 中等 |
0151 | 反转字符串中的单词 | Python | 双指针、字符串 | 中等 |
0152 | 乘积最大子数组 | Python | 数组、动态规划 | 中等 |
0153 | 寻找旋转排序数组中的最小值 | Python | 数组、二分查找 | 中等 |
0154 | 寻找旋转排序数组中的最小值 II | Python | 数组、二分查找 | 困难 |
0155 | 最小栈 | Python | 栈、设计 | 中等 |
0159 | 至多包含两个不同字符的最长子串 | Python | 哈希表、字符串、滑动窗口 | 中等 |
0160 | 相交链表 | Python | 哈希表、链表、双指针 | 简单 |
0162 | 寻找峰值 | Python | 数组、二分查找 | 中等 |
0164 | 最大间距 | Python | 数组、桶排序、基数排序、排序 | 困难 |
0166 | 分数到小数 | Python | 哈希表、数学、字符串 | 中等 |
0167 | 两数之和 II - 输入有序数组 | Python | 数组、双指针、二分查找 | 中等 |
0168 | Excel表列名称 | Python | 数学、字符串 | 简单 |
0169 | 多数元素 | Python | 数组、哈希表、分治、计数、排序 | 简单 |
0170 | 两数之和 III - 数据结构设计 | Python | 设计、数组、哈希表、双指针、数据流 | 简单 |
0171 | Excel 表列序号 | Python | 数学、字符串 | 简单 |
0172 | 阶乘后的零 | Python | 数学 | 中等 |
0173 |