题号 | 题解 | 标签 | 难度 | 备注 |
---|---|---|---|---|
0001 | 两数之和 | 数组 ,哈希表 |
简单 | |
0002 | 两数相加 | 递归 ,链表 ,数学 |
中等 | |
0003 | 无重复字符的最长子串 | 哈希表 ,字符串 ,滑动窗口 |
中等 | |
0005 | 最长回文子串 | 字符串 ,动态规划 |
中等 | |
0006 | N 字形变换 | 字符串 |
中等 | |
0007 | 整数反转 | 数学 |
中等 | |
0008 | 字符串转换整数 (atoi) | 字符串 |
中等 | |
0009 | 回文数 | 数学 |
简单 | |
0011 | 盛最多水的容器 | 贪心 ,数组 ,双指针 |
中等 | |
0012 | 整数转罗马数字 | 哈希表 ,数学 ,字符串 |
中等 | |
0013 | 罗马数字转整数 | 哈希表 ,数学 ,字符串 |
简单 | |
0014 | 最长公共前缀 | 字典树 ,字符串 |
简单 | |
0015 | 三数之和 | 数组 ,双指针 ,排序 |
中等 | |
0016 | 最接近的三数之和 | 数组 ,双指针 ,排序 |
中等 | |
0017 | 电话号码的字母组合 | 哈希表 ,字符串 ,回溯 |
中等 | |
0018 | 四数之和 | 数组 ,双指针 ,排序 |
中等 | |
0019 | 删除链表的倒数第 N 个结点 | 链表 ,双指针 |
中等 | |
0020 | 有效的括号 | 栈 ,字符串 |
简单 | |
0021 | 合并两个有序链表 | 递归 ,链表 |
简单 | |
0022 | 括号生成 | 字符串 ,动态规划 ,回溯 |
中等 | |
0023 | 合并 K 个升序链表 | 链表 ,分治 ,堆(优先队列) ,归并排序 |
困难 | |
0024 | 两两交换链表中的节点 | 递归 ,链表 |
中等 | |
0025 | K 个一组翻转链表 | 递归 ,链表 |
困难 | |
0026 | 删除有序数组中的重复项 | 数组 ,双指针 |
简单 | |
0027 | 移除元素 | 数组 ,双指针 |
简单 | |
0028 | 找出字符串中第一个匹配项的下标 | 双指针 ,字符串 ,字符串匹配 |
简单 | |
0029 | 两数相除 | 位运算 ,数学 |
中等 | |
0030 | 串联所有单词的子串 | 哈希表 ,字符串 ,滑动窗口 |
困难 | |
0031 | 下一个排列 | 数组 ,双指针 |
中等 | |
0033 | 搜索旋转排序数组 | 数组 ,二分查找 |
中等 | |
0034 | 在排序数组中查找元素的第一个和最后一个位置 | 数组 ,二分查找 |
中等 | |
0035 | 搜索插入位置 | 数组 ,二分查找 |
简单 | |
0036 | 有效的数独 | 数组 ,哈希表 ,矩阵 |
中等 | |
0038 | 外观数列 | 字符串 |
中等 | |
0039 | 组合总和 | 数组 ,回溯 |
中等 | |
0040 | 组合总和 II | 数组 ,回溯 |
中等 | |
0042 | 接雨水 | 栈 ,数组 ,双指针 ,动态规划 ,单调栈 |
困难 | |
0043 | 字符串相乘 | 数学 ,字符串 ,模拟 |
中等 | |
0045 | 跳跃游戏 II | 贪心 ,数组 ,动态规划 |
中等 | |
0046 | 全排列 | 数组 ,回溯 |
中等 | |
0047 | 全排列 II | 数组 ,回溯 |
中等 | |
0048 | 旋转图像 | 数组 ,数学 ,矩阵 |
中等 | |
0049 | 字母异位词分组 | 数组 ,哈希表 ,字符串 ,排序 |
中等 | |
0050 | Pow(x, n) | 递归 ,数学 |
中等 | |
0051 | N 皇后 | 数组 ,回溯 |
困难 | |
0053 | 最大子数组和 | 数组 ,分治 ,动态规划 |
中等 | |
0054 | 螺旋矩阵 | 数组 ,矩阵 ,模拟 |
中等 | |
0055 | 跳跃游戏 | 贪心 ,数组 ,动态规划 |
中等 | |
0056 | 合并区间 | 数组 ,排序 |
中等 | |
0057 | 插入区间 | 数组 |
中等 | |
0058 | 最后一个单词的长度 | 字符串 |
简单 | |
0059 | 螺旋矩阵 II | 数组 ,矩阵 ,模拟 |
中等 | |
0061 | 旋转链表 | 链表 ,双指针 |
中等 | |
0062 | 不同路径 | 数学 ,动态规划 ,组合数学 |
中等 | |
0063 | 不同路径 II | 数组 ,动态规划 ,矩阵 |
中等 | |
0064 | 最小路径和 | 数组 ,动态规划 ,矩阵 |
中等 | |
0066 | 加一 | 数组 ,数学 |
简单 | |
0067 | 二进制求和 | 位运算 ,数学 ,字符串 ,模拟 |
简单 | |
0069 | x 的平方根 | 数学 ,二分查找 |
简单 | |
0070 | 爬楼梯 | 记忆化搜索 ,数学 ,动态规划 |
简单 | |
0072 | 编辑距离 | 字符串 ,动态规划 |
中等 | |
0073 | 矩阵置零 | 数组 ,哈希表 ,矩阵 |
中等 | |
0074 | 搜索二维矩阵 | 数组 ,二分查找 ,矩阵 |
中等 | |
0077 | 组合 | 回溯 |
中等 | |
0079 | 单词搜索 | 数组 ,回溯 ,矩阵 |
中等 | |
0080 | 删除有序数组中的重复项 II | 数组 ,双指针 |
中等 | |
0082 | 删除排序链表中的重复元素 II | 链表 ,双指针 |
中等 | |
0086 | 分隔链表 | 链表 ,双指针 |
中等 | |
0088 | 合并两个有序数组 | 数组 ,双指针 ,排序 |
简单 | |
0089 | 格雷编码 | 位运算 ,数学 ,回溯 |
中等 | |
0092 | 反转链表 II | 链表 |
中等 | |
0094 | 二叉树的中序遍历 | 栈 ,树 ,深度优先搜索 ,二叉树 |
简单 | |
0098 | 验证二叉搜索树 | 树 ,深度优先搜索 ,二叉搜索树 ,二叉树 |
中等 | |
0100 | 相同的树 | 树 ,深度优先搜索 ,广度优先搜索 ,二叉树 |
简单 | |
0101 | 对称二叉树 | 树 ,深度优先搜索 ,广度优先搜索 ,二叉树 |
简单 | |
0102 | 二叉树的层序遍历 | 树 ,广度优先搜索 ,二叉树 |
中等 | |
0103 | 二叉树的锯齿形层序遍历 | 树 ,广度优先搜索 ,二叉树 |
中等 | |
0104 | 二叉树的最大深度 | 树 ,深度优先搜索 ,广度优先搜索 ,二叉树 |
简单 | |
0105 | 从前序与中序遍历序列构造二叉树 | 树 ,数组 ,哈希表 ,分治 ,二叉树 |
中等 | |
0106 | 从中序与后序遍历序列构造二叉树 | 树 ,数组 ,哈希表 ,分治 ,二叉树 |
中等 | |
0108 | 将有序数组转换为二叉搜索树 | 树 ,二叉搜索树 ,数组 ,分治 ,二叉树 |
简单 | |
0110 | 平衡二叉树 | 树 ,深度优先搜索 ,二叉树 |
简单 | |
0112 | 路径总和 | 树 ,深度优先搜索 ,广度优先搜索 ,二叉树 |
简单 | |
0113 | 路径总和 II | 树 ,深度优先搜索 ,回溯 ,二叉树 |
中等 | |
0118 | 杨辉三角 | 数组 ,动态规划 |
简单 | |
0119 | 杨辉三角 II | 数组 ,动态规划 |
简单 | |
0120 | 三角形最小路径和 | 数组 ,动态规划 |
中等 | |
0121 | 买卖股票的最佳时机 | 数组 ,动态规划 |
简单 | |
0122 | 买卖股票的最佳时机 II | 贪心 ,数组 ,动态规划 |
中等 | |
0124 | 二叉树中的最大路径和 | 树 ,深度优先搜索 ,动态规划 ,二叉树 |
困难 | |
0125 | 验证回文串 | 双指针 ,字符串 |
简单 | |
0128 | 最长连续序列 | 并查集 ,数组 ,哈希表 |
中等 | |
0129 | 求根节点到叶节点数字之和 | 树 ,深度优先搜索 ,二叉树 |
中等 | |
0136 | 只出现一次的数字 | 位运算 ,数组 |
简单 | |
0138 | 随机链表的复制 | 哈希表 ,链表 |
中等 | |
0139 | 单词拆分 | 字典树 ,记忆化搜索 ,数组 ,哈希表 ,字符串 ,动态规划 |
中等 | |
0141 | 环形链表 | 哈希表 ,链表 ,双指针 |
简单 | |
0142 | 环形链表 II | 哈希表 ,链表 ,双指针 |
中等 | |
0146 | LRU 缓存 | 设计 ,哈希表 ,链表 ,双向链表 |
中等 | |
0148 | 排序链表 | 链表 ,双指针 ,分治 ,排序 ,归并排序 |
中等 | |
0151 | 反转字符串中的单词 | 双指针 ,字符串 |
中等 | |
0153 | 寻找旋转排序数组中的最小值 | 数组 ,二分查找 |
中等 | |
0155 | 最小栈 | 栈 ,设计 |
中等 | |
0160 | 相交链表 | 哈希表 ,链表 ,双指针 |
简单 | |
0162 | 寻找峰值 | 数组 ,二分查找 |
中等 | |
0167 | 两数之和II输入有序数组 | 数组 ,双指针 ,二分查找 |
中等 | |
0169 | 多数元素 | 数组 ,哈希表 ,分治 ,计数 ,排序 |
简单 | |
0172 | 阶乘后的零 | 数学 |
中等 | |
0179 | 最大数 | 贪心 ,数组 ,字符串 ,排序 |
中等 | |
0189 | 轮转数组 | 数组 ,数学 ,双指针 |
中等 | |
0198 | 打家劫舍 | 数组 ,动态规划 |
中等 | |
0199 | 二叉树的右视图 | 树 ,深度优先搜索 ,广度优先搜索 ,二叉树 |
中等 | |
0200 | 岛屿数量 | 深度优先搜索 ,广度优先搜索 ,并查集 ,数组 ,矩阵 |
中等 | |
0202 | 快乐数 | 哈希表 ,数学 ,双指针 |
简单 | |
0205 | 同构字符串 | 哈希表 ,字符串 |
简单 | |
0206 | 反转链表 | 递归 ,链表 |
简单 | |
0207 | 课程表 | 深度优先搜索 ,广度优先搜索 ,图 ,拓扑排序 |
中等 | |
0209 | 长度最小的子数组 | 数组 ,二分查找 ,前缀和 ,滑动窗口 |
中等 | |
0213 | 打家劫舍 II | 数组 ,动态规划 |
中等 | |
0215 | 数组中的第K个最大元素 | 数组 ,分治 ,快速选择 ,排序 ,堆(优先队列) |
中等 | |
0219 | 存在重复元素 II | 数组 ,哈希表 ,滑动窗口 |
简单 | |
0221 | 最大正方形 | 数组 ,动态规划 ,矩阵 |
中等 | |
0222 | 完全二叉树的节点个数 | 位运算 ,树 ,二分查找 ,二叉树 |
简单 | |
0234 | 回文链表 | 栈 ,递归 ,链表 ,双指针 |
简单 | |
0226 | 翻转二叉树 | 树 ,深度优先搜索 ,广度优先搜索 ,二叉树 |
简单 | |
0228 | 汇总区间 | 数组 |
简单 | |
0230 | 二叉搜索树中第K小的元素 | 树 ,深度优先搜索 ,二叉搜索树 ,二叉树 |
中等 | |
0231 | 2 的幂 | 位运算 ,递归 ,数学 |
简单 | |
0232 | 用栈实现队列 | 栈 ,设计 ,队列 |
简单 | |
0235 | 二叉搜索树的最近公共祖先 | 树 ,深度优先搜索 ,二叉搜索树 ,二叉树 |
中等 | |
0236 | 二叉树的最近公共祖先 | 树 ,深度优先搜索 ,二叉树 |
中等 | |
0237 | 删除链表中的节点 | 链表 |
中等 | |
0238 | 除自身以外数组的乘积 | 数组 ,前缀和 |
中等 | |
0240 | 搜索二维矩阵 II | 数组 ,二分查找 ,分治 ,矩阵 |
中等 | |
0242 | 有效的字母异位词 | 哈希表 ,字符串 ,排序 |
简单 | |
0264 | 丑数 II | 哈希表 ,数学 ,动态规划 ,堆(优先队列) |
中等 | |
0266 | 回文排列 | 位运算 ,哈希表 ,字符串 |
简单 | |
0274 | H 指数 | 数组 ,计数排序 ,排序 |
中等 | |
0278 | 第一个错误的版本 | 二分查找 ,交互 |
简单 | |
0283 | 移动零 | 数组 ,双指针 |
简单 | |
0287 | 寻找重复数 | 位运算 ,数组 ,双指针 ,二分查找 |
中等 | |
0289 | 生命游戏 | 数组 ,矩阵 ,模拟 |
中等 | |
0290 | 单词规律 | 哈希表 ,字符串 |
简单 | |
0300 | 最长递增子序列 | 数组 ,二分查找 ,动态规划 |
中等 | |
0322 | 零钱兑换 | 广度优先搜索 ,数组 ,动态规划 |
中等 | |
0343 | 整数拆分 | 数学 ,动态规划 |
中等 | |
0344 | 反转字符串 | 双指针 ,字符串 |
简单 | |
0349 | 两个数组的交集 | 数组 ,哈希表 ,双指针 ,二分查找 ,排序 |
简单 | |
0371 | 两整数之和 | 位运算 ,数学 |
中等 | |
0380 | O(1) 时间插入、删除和获取随机元素 | 设计 ,数组 ,哈希表 ,数学 ,随机化 |
中等 | |
0383 | 赎金信 | 哈希表 ,字符串 ,计数 |
简单 | |
0387 | 字符串中的第一个唯一字符 | 队列 ,哈希表 ,字符串 ,计数 |
简单 | |
0392 | 判断子序列 | 双指针 ,字符串 ,动态规划 |
简单 | |
0394 | 字符串解码 | 栈 ,递归 ,字符串 |
中等 | |
0400 | 第 N 位数字 | 数学 ,二分查找 |
中等 | |
0409 | 最长回文串 | 贪心 ,哈希表 ,字符串 |
简单 | |
0415 | 字符串相加 | 数学 ,字符串 ,模拟 |
简单 | |
0426 | 将二叉搜索树转化为排序的双向链表 | 栈 ,树 ,深度优先搜索 ,二叉搜索树 ,链表 ,二叉树 ,双向链表 |
中等 | 🔒 |
0452 | 用最少数量的箭引爆气球 | 贪心 ,数组 ,排序 |
中等 | |
0485 | 最大连续 1 的个数 | 数组 |
简单 | |
0498 | 对角线遍历 | 数组 ,矩阵 ,模拟 |
中等 | |
0509 | 斐波那契数 | 递归 ,记忆化搜索 ,数学 ,动态规划 |
简单 | |
0530 | 二叉搜索树的最小绝对差 | 树 ,深度优先搜索 ,广度优先搜索 ,二叉搜索树 ,二叉树 |
简单 | |
0543 | 二叉树的直径 | 树 ,深度优先搜索 ,二叉树 |
简单 | |
0561 | 数组拆分 | 贪心 ,数组 ,计数排序 ,排序 |
简单 | |
0557 | 反转字符串中的单词 III | 双指针 ,字符串 |
简单 | |
0637 | 二叉树的层平均值 | 树 ,深度优先搜索 ,广度优先搜索 ,二叉树 |
简单 | |
0652 | 寻找重复的子树 | 树 ,深度优先搜索 ,哈希表 ,二叉树 |
中等 | |
0704 | 二分查找 | 数组 ,二分查找 |
简单 | |
0705 | 设计哈希集合 | 设计 ,数组 ,哈希表 ,链表 ,哈希函数 |
简单 | |
0706 | 设计哈希映射 | 设计 ,数组 ,哈希表 ,链表 ,哈希函数 |
简单 | |
0707 | 设计链表 | 设计 ,链表 |
中等 | |
0724 | 寻找数组的中心下标 | 数组 ,前缀和 |
简单 | 与 #1991 相同 |
0796 | 旋转字符串 | 字符串 ,字符串匹配 |
简单 | |
0876 | 链表的中间结点 | 链表 ,双指针 |
简单 | |
0946 | 验证栈序列 | 栈 ,数组 ,模拟 |
中等 | |
1480 | 一维数组的动态和 | 数组 ,前缀和 ,动态规划 |
简单 | |
1991 | 找到数组的中间位置 | 数组 ,前缀和 |
简单 | 与 #724 相同 |
laravelshao / leetcode Goto Github PK
View Code? Open in Web Editor NEWLeetCode Algorithm