✏️📖 Solutions for LeetCode(CN) Problems.
(Notes: "🔒" means you need a premium subscription)
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
1 | 两数之和 | Java | 简单 | 数组 哈希表 |
2 | 两数相加 | Java | 中等 | 递归 链表 数学 |
3 | 无重复字符的最长子串 | Java | 中等 | 哈希表 字符串 滑动窗口 |
4 | 寻找两个正序数组的中位数 | Java | 困难 | 数组 二分查找 分治 |
5 | 最长回文子串 | Java | 中等 | 字符串 动态规划 |
10 | 正则表达式匹配 | Java | 困难 | 递归 字符串 动态规划 |
11 | 盛最多水的容器 | Java | 中等 | 贪心 数组 双指针 |
15 | 三数之和 | Java | 中等 | 数组 双指针 排序 |
17 | 电话号码的字母组合 | Java | 中等 | 哈希表 字符串 回溯 |
19 | 删除链表的倒数第 N 个节点 | Java | 中等 | 链表 双指针 |
20 | 有效的括号 | Java | 简单 | 栈 字符串 |
21 | 合并两个有序链表 | Java | 简单 | 递归 链表 |
22 | 括号生成 | Java | 中等 | 字符串 动态规划 回溯 |
23 | 合并K个升序链表 | Java | 困难 | 链表 分治 堆(优先队列) 归并排序 |
31 | 下一个排列 | Java | 中等 | 数组 双指针 |
32 | 最长有效括号 | Java | 困难 | 栈 字符串 动态规划 |
33 | 搜索旋转排序数组 | Java | 中等 | 数组 二分查找 |
34 | 在排序数组中查找元素的第一个和最后一个位置 | Java | 中等 | 数组 二分查找 |
39 | 组合总和 | Java | 中等 | 数组 回溯 |
42 | 接雨水 | Java | 困难 | 栈 数组 双指针 动态规划 单调栈 |
46 | 全排列 | Java | 中等 | 数组 回溯 |
48 | 旋转图像 | Java | 中等 | 数组 数学 矩阵 |
49 | 字母异位词分组 | Java | 中等 | 哈希表 字符串 排序 |
53 | 最大子数组和 | Java | 简单 | 数组 分治 动态规划 |
55 | 跳跃游戏 | Java | 中等 | 贪心 数组 动态规划 |
56 | 合并区间 | Java | 中等 | 数组 排序 |
62 | 不同路径 | Java | 中等 | 数学 动态规划 组合数学 |
64 | 最小路径和 | Java | 中等 | 数组 动态规划 矩阵 |
70 | 爬楼梯 | Java | 简单 | 记忆化搜索 数学 动态规划 |
72 | 编辑距离 | Java | 困难 | 字符串 动态规划 |
75 | 颜色分类 | Java | 中等 | 数组 双指针 排序 |
76 | 最小覆盖子串 | Java | 困难 | 哈希表 字符串 滑动窗口 |
78 | 子集 | Java | 中等 | 位运算 数组 回溯 |
79 | 单词搜索 | Java | 中等 | 数组 回溯 矩阵 |
84 | 柱状图中最大的矩形 | Java | 困难 | 栈 数组 单调栈 |
85 | 最大矩形 | Java | 困难 | 栈 数组 动态规划 矩阵 单调栈 |
94 | 二叉树的中序遍历 | Java | 简单 | 栈 树 深度优先搜索 二叉树 |
96 | 不同的二叉搜索树 | Java | 中等 | 树 二叉搜索树 数学 动态规划 二叉树 |
98 | 验证二叉搜索树 | Java | 中等 | 树 深度优先搜索 二叉搜索树 二叉树 |
101 | 对称二叉树 | Java | 简单 | 树 深度优先搜索 广度优先搜索 二叉树 |
102 | 二叉树的层序遍历 | Java | 中等 | 树 广度优先搜索 二叉树 |
104 | 二叉树的最大深度 | Java | 简单 | 树 深度优先搜索 广度优先搜索 二叉树 |
105 | 从前序与中序遍历序列构造二叉树 | Java | 中等 | 树 数组 哈希表 分治 二叉树 |
114 | 二叉树展开为链表 | Java | 中等 | 栈 树 深度优先搜索 链表 二叉树 |
121 | 买卖股票的最佳时机 | Java | 简单 | 数组 动态规划 |
124 | 二叉树中的最大路径和 | Java | 困难 | 树 深度优先搜索 动态规划 二叉树 |
128 | 最长连续序列 | Java | 中等 | 并查集 数组 哈希表 |
136 | 只出现一次的数字 | Java | 简单 | 位运算 数组 |
139 | 单词拆分 | Java | 中等 | 字典树 记忆化搜索 哈希表 字符串 动态规划 |
141 | 环形链表 | Java | 简单 | 哈希表 链表 双指针 |
142 | 环形链表 II | Java | 中等 | 哈希表 链表 双指针 |
146 | LRU 缓存 | Java | 中等 | 设计 哈希表 链表 双向链表 |
148 | 排序链表 | Java | 中等 | 链表 双指针 分治 排序 归并排序 |
152 | 乘积最大子数组 | Java | 中等 | 数组 动态规划 |
155 | 最小栈 | Java | 简单 | 栈 设计 |
160 | 相交链表 | Java | 简单 | 哈希表 链表 双指针 |
169 | 多数元素 | Java | 简单 | 数组 哈希表 分治 计数 排序 |
198 | 打家劫舍 | Java | 中等 | 数组 动态规划 |
200 | 岛屿数量 | Java | 中等 | 深度优先搜索 广度优先搜索 并查集 数组 矩阵 |
206 | 反转链表 | Java | 简单 | 递归 链表 |
207 | 课程表 | Java | 中等 | 深度优先搜索 广度优先搜索 图 拓扑排序 |
208 | 实现 Trie (前缀树) | Java | 中等 | 设计 字典树 哈希表 字符串 |
215 | 数组中的第K个最大元素 | Java | 中等 | 数组 分治 快速排序 排序 堆(优先队列) |
221 | 最大正方形 | Java | 中等 | 数组 动态规划 矩阵 |
226 | 翻转二叉树 | Java | 简单 | 树 深度优先搜索 广度优先搜索 二叉树 |
234 | 回文链表 | Java | 简单 | 栈 递归 链表 双指针 |
236 | 二叉树的最近公共祖先 | Java | 中等 | 树 深度优先搜索 二叉树 |
238 | 除自身以外数组的乘积 | Java | 中等 | 数组 前缀和 |
239 | 滑动窗口最大值 | Java | 困难 | 队列 数组 滑动窗口 单调队列 堆(优先队列) |
240 | 搜索二维矩阵 II | Java | 中等 | 数组 二分查找 分治 矩阵 |
253 | 会议室 II 🔒 | Java | 中等 | 贪心 数组 双指针 排序 堆(优先队列) |
279 | 完全平方数 | Java | 中等 | 广度优先搜索 数学 动态规划 |
283 | 移动零 | Java | 简单 | 数组 双指针 |
287 | 寻找重复数 | Java | 中等 | 位运算 数组 双指针 二分查找 |
297 | 二叉树的序列化与反序列化 | Java | 困难 | 树 深度优先搜索 二叉搜索树 设计 字符串 二叉树 |
300 | 最长递增子序列 | Java | 中等 | 数组 二分查找 动态规划 |
301 | 删除无效的括号 | Java | 困难 | 广度优先搜索 字符串 回溯 |
309 | 最佳买卖股票时机含冷冻期 | Java | 中等 | 数组 动态规划 |
312 | 戳气球 | Java | 困难 | 数组 动态规划 |
322 | 零钱兑换 | Java | 中等 | 广度优先搜索 数组 动态规划 |
337 | 打家劫舍 III | Java | 中等 | 树 深度优先搜索 动态规划 二叉树 |
338 | 比特位计数 | Java | 简单 | 位运算 动态规划 |
347 | 前 K 个高频元素 | Java | 中等 | 数组 哈希表 分治 桶排序 计数 快速排序 排序 堆(优先队列) |
394 | 字符串解码 | Java | 中等 | 栈 递归 字符串 |
399 | 除法求值 | Java | 中等 | 深度优先搜索 广度优先搜索 并查集 图 数组 最短路 |
406 | 根据身高重建队列 | Java | 中等 | 贪心 数组 排序 |
416 | 分割等和子集 | Java | 中等 | 数组 动态规划 |
437 | 路径总和 III | Java | 中等 | 树 深度优先搜索 二叉树 |
438 | 找到字符串中所有字母异位词 | Java | 中等 | 哈希表 字符串 滑动窗口 |
448 | 找到所有数组中消失的数字 | Java | 简单 | 数组 哈希表 |
461 | 汉明距离 | Java | 简单 | 位运算 |
494 | 目标和 | Java | 中等 | 数组 动态规划 回溯 |
538 | 把二叉搜索树转换为累加树 | Java | 中等 | 树 深度优先搜索 二叉搜索树 二叉树 |
543 | 二叉树的直径 | Java | 简单 | 树 深度优先搜索 二叉树 |
560 | 和为 K 的子数组 | Java | 中等 | 数组 哈希表 前缀和 |
581 | 最短无序连续子数组 | Java | 中等 | 栈 贪心 数组 双指针 排序 单调栈 |
617 | 合并二叉树 | Java | 简单 | 树 深度优先搜索 广度优先搜索 二叉树 |
621 | 任务调度器 | Java | 中等 | 贪心 数组 哈希表 计数 排序 堆(优先队列) |
739 | 每日温度 | Java | 中等 | 栈 数组 单调栈 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
26 | 删除有序数组中的重复项 | Java | 简单 | 数组 双指针 |
674 | 最长连续递增序列 | Java | 简单 | 数组 |
27 | 移除元素 | Java | 简单 | 数组 双指针 |
80 | 删除有序数组中的重复项 II | Java | 中等 | 数组 双指针 |
283 | 移动零 | Java | 简单 | 数组 双指针 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
75 | 颜色分类 | Java | 中等 | 数组 双指针 排序 |
215 | 数组中的第K个最大元素 | Java | 中等 | 数组 分治 快速排序 排序 堆(优先队列) |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
643 | 子数组最大平均数 I | Java | 简单 | 数组 滑动窗口 |
1052 | 爱生气的书店老板 | Java | 中等 | 数组 滑动窗口 |
1423 | 可获得的最大点数 | Java | 中等 | 数组 前缀和 滑动窗口 |
1456 | 定长子串中元音的最大数目 | Java | 中等 | 字符串 滑动窗口 |
1658 | 将 x 减到 0 的最小操作数 | Java | 中等 | 数组 哈希表 二分查找 前缀和 滑动窗口 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
76 | 最小覆盖子串 | Java | 困难 | 哈希表 字符串 滑动窗口 |
424 | 替换后的最长重复字符 | Java | 中等 | 哈希表 字符串 滑动窗口 |
3 | 无重复字符的最长子串 | Java | 中等 | 哈希表 字符串 滑动窗口 |
209 | 长度最小的子数组 | Java | 中等 | 数组 二分查找 前缀和 滑动窗口 |
1695 | 删除子数组的最大得分 | Java | 中等 | 数组 哈希表 滑动窗口 |
438 | 找到字符串中所有字母异位词 | Java | 中等 | 哈希表 字符串 滑动窗口 |
567 | 字符串的排列 | Java | 中等 | 哈希表 双指针 字符串 滑动窗口 |
487 | 最大连续1的个数 II 🔒 | Java | 中等 | 数组 动态规划 滑动窗口 |
1004 | 最大连续1的个数 III | Java | 中等 | 数组 二分查找 前缀和 滑动窗口 |
1208 | 尽可能使字符串相等 | Java | 中等 | 数组 二分查找 前缀和 滑动窗口 |
1493 | 删掉一个元素以后全为 1 的最长子数组 | Java | 中等 | 数学 动态规划 滑动窗口 |
978 | 最长湍流子数组 | Java | 中等 | 数组 动态规划 滑动窗口 |
1100 | 长度为 K 的无重复字符子串 🔒 | Java | 中等 | 哈希表 字符串 滑动窗口 |
1151 | 最少交换次数来组合所有的 1 🔒 | Java | 中等 | 数组 滑动窗口 |
1176 | 健身计划评估 | Java | 简单 | 数组 滑动窗口 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
159 | 至多包含两个不同字符的最长子串 🔒 | Java | 中等 | 哈希表 字符串 滑动窗口 |
340 | 至多包含 K 个不同字符的最长子串 🔒 | Java | 中等 | 哈希表 字符串 滑动窗口 |
795 | 区间子数组个数 | Java | 中等 | 数组 双指针 |
992 | K 个不同整数的子数组 | Java | 困难 | 数组 哈希表 计数 滑动窗口 |
713 | 乘积小于K的子数组 | Java | 中等 | 数组 滑动窗口 |
904 | 水果成篮 | Java | 中等 | 数组 哈希表 滑动窗口 |
1358 | 包含所有三种字符的子字符串数目 | Java | 中等 | 哈希表 字符串 滑动窗口 |
467 | 环绕字符串中唯一的子字符串 | Java | 中等 | 字符串 动态规划 |
719 | 找出第 k 小的距离对 | Java | 困难 | 数组 双指针 二分查找 排序 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
239 | 滑动窗口最大值 | Java | 困难 | 队列 数组 滑动窗口 单调队列 堆(优先队列) |
480 | 滑动窗口中位数 | Java | 困难 | 数组 哈希表 滑动窗口 堆(优先队列) |
220 | 存在重复元素 III | Java | 中等 | 数组 桶排序 有序集合 排序 滑动窗口 |
1438 | 绝对差不超过限制的最长连续子数组 | Java | 中等 | 队列 数组 有序集合 滑动窗口 单调队列 堆(优先队列) |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
141 | 环形链表 | Java | 简单 | 哈希表 链表 双指针 |
19 | 删除链表的倒数第 N 个节点 | Java | 中等 | 链表 双指针 |
876 | 链表的中间结点 | Java | 简单 | 链表 双指针 |
142 | 环形链表 II | Java | 中等 | 哈希表 链表 双指针 |
160 | 相交链表 | Java | 简单 | 哈希表 链表 双指针 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
11 | 盛最多水的容器 | Java | 中等 | 贪心 数组 双指针 |
167 | 两数之和 II - 输入有序数组 | Java | 中等 | 数组 双指针 二分查找 |
15 | 三数之和 | Java | 中等 | 数组 双指针 排序 |
125 | 验证回文串 | Java | 简单 | 双指针 字符串 |
344 | 反转字符串 | Java | 简单 | 递归 双指针 字符串 |
345 | 反转字符串中的元音字母 | Java | 简单 | 双指针 字符串 |
16 | 最接近的三数之和 | Java | 中等 | 数组 双指针 排序 |
18 | 四数之和 | Java | 中等 | 数组 双指针 排序 |
42 | 接雨水 | Java | 困难 | 栈 数组 双指针 动态规划 单调栈 |
658 | 找到 K 个最接近的元素 | Java | 中等 | 数组 双指针 二分查找 排序 堆(优先队列) |
259 | 较小的三数之和 🔒 | Java | 中等 | 数组 双指针 二分查找 排序 |
845 | 数组中的最长山脉 | Java | 中等 | 数组 双指针 动态规划 枚举 |
881 | 救生艇 | Java | 中等 | 贪心 数组 双指针 排序 |
925 | 长按键入 | Java | 简单 | 双指针 字符串 |
977 | 有序数组的平方 | Java | 简单 | 数组 双指针 排序 |
1229 | 安排会议日程 🔒 | Java | 中等 | 数组 双指针 排序 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
27 | 移除元素 | Java | 简单 | 数组 双指针 |
26 | 删除有序数组中的重复项 | Java | 简单 | 数组 双指针 |
80 | 删除有序数组中的重复项 II | Java | 中等 | 数组 双指针 |
277 | 搜寻名人 🔒 | Java | 中等 | 贪心 图 双指针 交互 |
189 | 旋转数组 | Java | 中等 | 数组 数学 双指针 |
41 | 缺失的第一个正数 | Java | 困难 | 数组 哈希表 |
299 | 猜数字游戏 | Java | 中等 | 哈希表 字符串 计数 |
134 | 加油站 | Java | 中等 | 贪心 数组 |
118 | 杨辉三角 | Java | 简单 | 数组 动态规划 |
119 | 杨辉三角 II | Java | 简单 | 数组 动态规划 |
169 | 多数元素 | Java | 简单 | 数组 哈希表 分治 计数 排序 |
229 | 求众数 II | Java | 中等 | 数组 哈希表 计数 排序 |
274 | H 指数 | Java | 中等 | 数组 计数排序 排序 |
275 | H 指数 II | Java | 中等 | 数组 二分查找 |
243 | 最短单词距离 🔒 | Java | 简单 | 数组 字符串 |
244 | 最短单词距离 II 🔒 | Java | 中等 | 设计 数组 哈希表 双指针 字符串 |
245 | 最短单词距离 III 🔒 | Java | 中等 | 数组 字符串 |
217 | 存在重复元素 | Java | 简单 | 数组 哈希表 排序 |
219 | 存在重复元素 II | Java | 简单 | 数组 哈希表 滑动窗口 |
220 | 存在重复元素 III | Java | 中等 | 数组 桶排序 有序集合 排序 滑动窗口 |
55 | 跳跃游戏 | Java | 中等 | 贪心 数组 动态规划 |
45 | 跳跃游戏 II | Java | 中等 | 贪心 数组 动态规划 |
121 | 买卖股票的最佳时机 | Java | 简单 | 数组 动态规划 |
122 | 买卖股票的最佳时机 II | Java | 中等 | 贪心 数组 动态规划 |
123 | 买卖股票的最佳时机 III | Java | 困难 | 数组 动态规划 |
188 | 买卖股票的最佳时机 IV | Java | 困难 | 数组 动态规划 |
309 | 最佳买卖股票时机含冷冻期 | Java | 中等 | 数组 动态规划 |
714 | 买卖股票的最佳时机含手续费 | Java | 中等 | 贪心 数组 动态规划 |
11 | 盛最多水的容器 | Java | 中等 | 贪心 数组 双指针 |
42 | 接雨水 | Java | 困难 | 栈 数组 双指针 动态规划 单调栈 |
334 | 递增的三元子序列 | Java | 中等 | 贪心 数组 |
128 | 最长连续序列 | Java | 中等 | 并查集 数组 哈希表 |
164 | 最大间距 | Java | 困难 | 数组 桶排序 基数排序 排序 |
287 | 寻找重复数 | Java | 中等 | 位运算 数组 双指针 二分查找 |
135 | 分发糖果 | Java | 困难 | 贪心 数组 |
330 | 按要求补齐数组 | Java | 困难 | 贪心 数组 |
4 | 寻找两个正序数组的中位数 | Java | 困难 | 数组 二分查找 分治 |
321 | 拼接最大数 | Java | 困难 | 栈 贪心 单调栈 |
327 | 区间和的个数 | Java | 困难 | 树状数组 线段树 数组 二分查找 分治 有序集合 归并排序 |
289 | 生命游戏 | Java | 中等 | 数组 矩阵 模拟 |
57 | 插入区间 | Java | 中等 | 数组 |
56 | 合并区间 | Java | 中等 | 数组 排序 |
252 | 会议室 🔒 | Java | 简单 | 数组 排序 |
253 | 会议室 II 🔒 | Java | 中等 | 贪心 数组 双指针 排序 堆(优先队列) |
352 | 将数据流变为多个不相交区间 | Java | 困难 | 设计 二分查找 有序集合 |
57 | 插入区间 | Java | 中等 | 数组 |
56 | 合并区间 | Java | 中等 | 数组 排序 |
252 | 会议室 🔒 | Java | 简单 | 数组 排序 |
253 | 会议室 II 🔒 | Java | 中等 | 贪心 数组 双指针 排序 堆(优先队列) |
352 | 将数据流变为多个不相交区间 | Java | 困难 | 设计 二分查找 有序集合 |
239 | 滑动窗口最大值 | Java | 困难 | 队列 数组 滑动窗口 单调队列 堆(优先队列) |
295 | 数据流的中位数 | Java | 困难 | 设计 双指针 数据流 排序 堆(优先队列) |
53 | 最大子数组和 | Java | 简单 | 数组 分治 动态规划 |
325 | 和等于 k 的最长子数组长度 🔒 | Java | 中等 | 数组 哈希表 |
209 | 长度最小的子数组 | Java | 中等 | 数组 二分查找 前缀和 滑动窗口 |
238 | 除自身以外数组的乘积 | Java | 中等 | 数组 前缀和 |
152 | 乘积最大子数组 | Java | 中等 | 数组 动态规划 |
228 | 汇总区间 | Java | 简单 | 数组 |
163 | 缺失的区间 🔒 | Java | 简单 | 数组 |
88 | 合并两个有序数组 | Java | 简单 | 数组 双指针 排序 |
75 | 颜色分类 | Java | 中等 | 数组 双指针 排序 |
283 | 移动零 | Java | 简单 | 数组 双指针 |
376 | 摆动序列 | Java | 中等 | 贪心 数组 动态规划 |
280 | 摆动排序 🔒 | Java | 中等 | 贪心 数组 排序 |
324 | 摆动排序 II 🔒 | Java | 中等 | 数组 分治 快速排序 排序 |
278 | 第一个错误的版本 | Java | 简单 | 二分查找 交互 |
35 | 搜索插入位置 | Java | 简单 | 数组 二分查找 |
33 | 搜索旋转排序数组 | Java | 中等 | 数组 二分查找 |
81 | 搜索旋转排序数组 II | Java | 中等 | 数组 二分查找 |
153 | 寻找旋转排序数组中的最小值 | Java | 中等 | 数组 二分查找 |
154 | 寻找旋转排序数组中的最小值 II | Java | 困难 | 数组 二分查找 |
162 | 寻找峰值 | Java | 中等 | 数组 二分查找 |
374 | 猜数字大小 | Java | 简单 | 二分查找 交互 |
34 | 在排序数组中查找元素的第一个和最后一个位置 | Java | 中等 | 数组 二分查找 |
349 | 两个数组的交集 | Java | 简单 | 数组 哈希表 双指针 二分查找 排序 |
350 | 两个数组的交集 II | Java | 简单 | 数组 哈希表 双指针 二分查找 排序 |
315 | 计算右侧小于当前元素的个数 | Java | 困难 | 树状数组 线段树 数组 二分查找 分治 有序集合 归并排序 |
300 | 最长递增子序列 | Java | 中等 | 数组 二分查找 动态规划 |
354 | 俄罗斯套娃信封问题 | Java | 困难 | 数组 二分查找 动态规划 排序 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
28 | 实现 strStr() | Java | 简单 | 双指针 字符串 字符串匹配 |
14 | 最长公共前缀 | Java | 简单 | 字符串 |
58 | 最后一个单词的长度 | Java | 简单 | 字符串 |
387 | 字符串中的第一个唯一字符 | Java | 简单 | 队列 哈希表 字符串 计数 |
383 | 赎金信 | Java | 简单 | 哈希表 字符串 计数 |
344 | 反转字符串 | Java | 简单 | 递归 双指针 字符串 |
151 | 翻转字符串里的单词 | Java | 中等 | 双指针 字符串 |
186 | 翻转字符串里的单词 II 🔒 | Java | 中等 | 双指针 字符串 |
345 | 反转字符串中的元音字母 | Java | 简单 | 双指针 字符串 |
205 | 同构字符串 | Java | 简单 | 哈希表 字符串 |
293 | 翻转游戏 🔒 | Java | 简单 | 字符串 |
294 | 翻转游戏 II 🔒 | Java | 中等 | 记忆化搜索 数学 动态规划 回溯 博弈 |
290 | 单词规律 | Java | 简单 | 哈希表 字符串 |
242 | 有效的字母异位词 | Java | 简单 | 哈希表 字符串 排序 |
49 | 字母异位词分组 | Java | 中等 | 哈希表 字符串 排序 |
249 | 移位字符串分组 🔒 | Java | 中等 | 数组 哈希表 字符串 |
87 | 扰乱字符串 | Java | 困难 | 字符串 动态规划 |
179 | 最大数 | Java | 中等 | 贪心 字符串 排序 |
6 | Z 字形变换 | Java | 中等 | 字符串 |
161 | 相隔为 1 的编辑距离 🔒 | Java | 中等 | 双指针 字符串 |
38 | 外观数列 | Java | 中等 | 字符串 |
358 | K 距离间隔重排字符串 🔒 | Java | 困难 | 贪心 哈希表 字符串 计数 排序 堆(优先队列) |
316 | 去除重复字母 | Java | 中等 | 栈 贪心 字符串 单调栈 |
271 | 字符串的编码与解码 🔒 | Java | 中等 | 设计 数组 字符串 |
168 | Excel表列名称 | Java | 简单 | 数学 字符串 |
171 | Excel 表列序号 | Java | 简单 | 数学 字符串 |
13 | 罗马数字转整数 | Java | 简单 | 哈希表 数学 字符串 |
12 | 整数转罗马数字 | Java | 中等 | 哈希表 数学 字符串 |
273 | 整数转换英文表示 | Java | 困难 | 递归 数学 字符串 |
246 | 中心对称数 🔒 | Java | 简单 | 哈希表 双指针 字符串 |
247 | 中心对称数 II 🔒 | Java | 中等 | 递归 数组 字符串 |
248 | 中心对称数 III 🔒 | Java | 困难 | 递归 数组 字符串 |
157 | 用 Read4 读取 N 个字符 🔒 | Java | 简单 | 字符串 交互 模拟 |
158 | 用 Read4 读取 N 个字符 II 🔒 | Java | 困难 | 字符串 交互 模拟 |
68 | 文本左右对齐 | Java | 困难 | 字符串 模拟 |
65 | 有效数字 | Java | 困难 | 字符串 |
76 | 最小覆盖子串 | Java | 困难 | 哈希表 字符串 滑动窗口 |
30 | 串联所有单词的子串 | Java | 困难 | 哈希表 字符串 滑动窗口 |
3 | 无重复字符的最长子串 | Java | 中等 | 哈希表 字符串 滑动窗口 |
340 | 至多包含 K 个不同字符的最长子串 🔒 | Java | 中等 | 哈希表 字符串 滑动窗口 |
395 | 至少有 K 个重复字符的最长子串 | Java | 中等 | 哈希表 字符串 分治 滑动窗口 |
159 | 至多包含两个不同字符的最长子串 🔒 | Java | 中等 | 哈希表 字符串 滑动窗口 |
125 | 验证回文串 | Java | 简单 | 双指针 字符串 |
266 | 回文排列 🔒 | Java | 简单 | 位运算 哈希表 字符串 |
5 | 最长回文子串 | Java | 中等 | 字符串 动态规划 |
9 | 回文数 | Java | 简单 | 数学 |
214 | 最短回文串 | Java | 困难 | 字符串 字符串匹配 哈希函数 滚动哈希 |
336 | 回文对 | Java | 困难 | 字典树 数组 哈希表 字符串 |
131 | 分割回文串 | Java | 中等 | 字符串 动态规划 回溯 |
132 | 分割回文串 II | Java | 困难 | 字符串 动态规划 |
267 | 回文排列 II 🔒 | Java | 中等 | 哈希表 字符串 回溯 |
20 | 有效的括号 | Java | 简单 | 栈 字符串 |
22 | 括号生成 | Java | 中等 | 字符串 动态规划 回溯 |
32 | 最长有效括号 | Java | 困难 | 栈 字符串 动态规划 |
241 | 为运算表达式设计优先级 | Java | 中等 | 递归 记忆化搜索 数学 字符串 动态规划 |
301 | 删除无效的括号 | Java | 困难 | 广度优先搜索 字符串 回溯 |
392 | 判断子序列 | Java | 简单 | 双指针 字符串 动态规划 |
115 | 不同的子序列 | Java | 困难 | 字符串 动态规划 |
187 | 重复的DNA序列 | Java | 中等 | 位运算 哈希表 字符串 滑动窗口 滚动哈希 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
7 | 整数反转 | Java | 简单 | 数学 |
165 | 比较版本号 | Java | 中等 | 双指针 字符串 |
66 | 加一 | Java | 简单 | 数组 数学 |
8 | 字符串转换整数 (atoi) | Java | 中等 | 字符串 |
258 | 各位相加 | Java | 简单 | 数学 数论 模拟 |
67 | 二进制求和 | Java | 简单 | 位运算 数学 字符串 模拟 |
43 | 字符串相乘 | Java | 中等 | 数学 字符串 模拟 |
29 | 两数相除 | Java | 中等 | 位运算 数学 |
69 | Sqrt(x) | Java | 简单 | 数学 二分查找 |
50 | Pow(x, n) | Java | 中等 | 递归 数学 |
367 | 有效的完全平方数 | Java | 简单 | 数学 二分查找 |
365 | 水壶问题 | Java | 中等 | 深度优先搜索 广度优先搜索 数学 |
204 | 计数质数 | Java | 中等 | 数组 数学 枚举 数论 |
1 | 两数之和 | Java | 简单 | 数组 哈希表 |
167 | 两数之和 II - 输入有序数组 | Java | 中等 | 数组 双指针 二分查找 |
15 | 三数之和 | Java | 中等 | 数组 双指针 排序 |
16 | 最接近的三数之和 | Java | 中等 | 数组 双指针 排序 |
259 | 较小的三数之和 🔒 | Java | 中等 | 数组 双指针 二分查找 排序 |
18 | 四数之和 | Java | 中等 | 数组 双指针 排序 |
231 | 2 的幂 | Java | 简单 | 位运算 递归 数学 |
326 | 3的幂 | Java | 简单 | 递归 数学 |
342 | 4的幂 | Java | 简单 | 位运算 递归 数学 |
372 | 超级次方 | Java | 中等 | 数学 分治 |
233 | 数字 1 的个数 | Java | 困难 | 递归 数学 动态规划 |
319 | 灯泡开关 | Java | 中等 | 脑筋急转弯 数学 |
292 | Nim 游戏 | Java | 简单 | 脑筋急转弯 数学 博弈 |
202 | 快乐数 | Java | 简单 | 哈希表 双指针 数学 |
400 | 第 N 位数字 | Java | 中等 | 数学 二分查找 |
263 | 丑数 | Java | 简单 | 数学 |
264 | 丑数 II | Java | 中等 | 哈希表 数学 动态规划 堆(优先队列) |
306 | 累加数 | Java | 中等 | 字符串 回溯 |
172 | 阶乘后的零 | Java | 中等 | 数学 |
396 | 旋转函数 | Java | 中等 | 数学 动态规划 |
390 | 消除游戏 | Java | 中等 | 数学 |
386 | 字典序排数 | Java | 中等 | 深度优先搜索 字典树 |
357 | 计算各个位数不同的数字个数 | Java | 中等 | 数学 动态规划 回溯 |
360 | 有序转化数组 🔒 | Java | 中等 | 数组 数学 双指针 排序 |
397 | 整数替换 | Java | 中等 | 贪心 位运算 记忆化搜索 动态规划 |
368 | 最大整除子集 | Java | 中等 | 数组 数学 动态规划 排序 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
144 | 二叉树的前序遍历 | Java | 简单 | 栈 树 深度优先搜索 二叉树 |
94 | 二叉树的中序遍历 | Java | 简单 | 栈 树 深度优先搜索 二叉树 |
145 | 二叉树的后序遍历 | Java | 简单 | 栈 树 深度优先搜索 二叉树 |
102 | 二叉树的层序遍历 | Java | 中等 | 树 广度优先搜索 二叉树 |
100 | 相同的树 | Java | 简单 | 树 深度优先搜索 广度优先搜索 二叉树 |
101 | 对称二叉树 | Java | 简单 | 树 深度优先搜索 广度优先搜索 二叉树 |
226 | 翻转二叉树 | Java | 简单 | 树 深度优先搜索 广度优先搜索 二叉树 |
257 | 二叉树的所有路径 | Java | 简单 | 树 深度优先搜索 字符串 二叉树 |
112 | 路径总和 | Java | 简单 | 树 深度优先搜索 二叉树 |
113 | 路径总和 II | Java | 中等 | 树 深度优先搜索 回溯 二叉树 |
129 | 求根节点到叶节点数字之和 | Java | 中等 | 树 深度优先搜索 二叉树 |
298 | 二叉树最长连续序列 🔒 | Java | 中等 | 树 深度优先搜索 二叉树 |
111 | 二叉树的最小深度 | Java | 简单 | 树 深度优先搜索 广度优先搜索 二叉树 |
104 | 二叉树的最大深度 | Java | 简单 | 树 深度优先搜索 广度优先搜索 二叉树 |
110 | 平衡二叉树 | Java | 简单 | 树 深度优先搜索 二叉树 |
124 | 二叉树中的最大路径和 | Java | 困难 | 树 深度优先搜索 动态规划 二叉树 |
250 | 统计同值子树 🔒 | Java | 中等 | 树 深度优先搜索 二叉树 |
366 | 寻找二叉树的叶子节点 🔒 | Java | 中等 | 树 深度优先搜索 二叉树 |
337 | 打家劫舍 III | Java | 中等 | 树 深度优先搜索 动态规划 二叉树 |
107 | 二叉树的层序遍历 II | Java | 中等 | 树 广度优先搜索 二叉树 |
103 | 二叉树的锯齿形层序遍历 | Java | 中等 | 树 广度优先搜索 二叉树 |
199 | 二叉树的右视图 | Java | 中等 | 树 深度优先搜索 广度优先搜索 二叉树 |
98 | 验证二叉搜索树 | Java | 中等 | 树 深度优先搜索 二叉搜索树 二叉树 |
235 | 二叉搜索树的最近公共祖先 | Java | 简单 | 树 深度优先搜索 二叉搜索树 二叉树 |
236 | 二叉树的最近公共祖先 | Java | 中等 | 树 深度优先搜索 二叉树 |
108 | 将有序数组转换为二叉搜索树 | Java | 简单 | 树 二叉搜索树 数组 分治 二叉树 |
109 | 有序链表转换二叉搜索树 | Java | 中等 | 树 二叉搜索树 链表 分治 二叉树 |
173 | 二叉搜索树迭代器 | Java | 中等 | 栈 树 设计 二叉搜索树 二叉树 迭代器 |
230 | 二叉搜索树中第K小的元素 | Java | 中等 | 树 深度优先搜索 二叉搜索树 二叉树 |
297 | 二叉树的序列化与反序列化 | Java | 困难 | 树 深度优先搜索 二叉搜索树 设计 字符串 二叉树 |
285 | 二叉搜索树中的中序后继 🔒 | Java | 中等 | 树 深度优先搜索 二叉搜索树 二叉树 |
270 | 最接近的二叉搜索树值 🔒 | Java | 简单 | 树 深度优先搜索 二叉搜索树 二分查找 二叉树 |
272 | 最接近的二叉搜索树值 II 🔒 | Java | 困难 | 栈 树 深度优先搜索 二叉搜索树 双指针 二叉树 堆(优先队列) |
99 | 恢复二叉搜索树 | Java | 中等 | 树 深度优先搜索 二叉搜索树 二叉树 |
156 | 上下翻转二叉树 🔒 | Java | 中等 | 树 深度优先搜索 二叉树 |
114 | 二叉树展开为链表 | Java | 中等 | 栈 树 深度优先搜索 链表 二叉树 |
255 | 验证前序遍历序列二叉搜索树 🔒 | Java | 中等 | 栈 树 二叉搜索树 递归 二叉树 单调栈 |
333 | 最大 BST 子树 🔒 | Java | 中等 | 树 深度优先搜索 二叉搜索树 动态规划 二叉树 |
222 | 完全二叉树的节点个数 | Java | 中等 | 树 深度优先搜索 二分查找 二叉树 |
105 | 从前序与中序遍历序列构造二叉树 | Java | 中等 | 树 数组 哈希表 分治 二叉树 |
106 | 从中序与后序遍历序列构造二叉树 | Java | 中等 | 树 数组 哈希表 分治 二叉树 |
116 | 填充每个节点的下一个右侧节点指针 | Java | 中等 | 树 深度优先搜索 广度优先搜索 二叉树 |
117 | 填充每个节点的下一个右侧节点指针 II | Java | 中等 | 树 深度优先搜索 广度优先搜索 二叉树 |
314 | 二叉树的垂直遍历 🔒 | Java | 中等 | 树 深度优先搜索 广度优先搜索 哈希表 二叉树 |
96 | 不同的二叉搜索树 | Java | 中等 | 树 二叉搜索树 数学 动态规划 二叉树 |
95 | 不同的二叉搜索树 II | Java | 中等 | 树 二叉搜索树 动态规划 回溯 二叉树 |
331 | 验证二叉树的前序序列化 | Java | 中等 | 栈 树 字符串 二叉树 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
78 | 子集 | Java | 中等 | 位运算 数组 回溯 |
90 | 子集 II | Java | 中等 | 位运算 数组 回溯 |
77 | 组合 | Java | 中等 | 数组 回溯 |
39 | 组合总和 | Java | 中等 | 数组 回溯 |
40 | 组合总和 II | Java | 中等 | 数组 回溯 |
216 | 组合总和 III | Java | 中等 | 数组 回溯 |
377 | 组合总和 Ⅳ | Java | 中等 | 数组 动态规划 |
254 | 因子的组合 | Java | 中等 | 数组 回溯 |
46 | 全排列 | Java | 中等 | 数组 回溯 |
47 | 全排列 II | Java | 中等 | 数组 回溯 |
31 | 下一个排列 | Java | 中等 | 数组 双指针 |
60 | 排列序列 | Java | 困难 | 递归 数学 |
291 | 单词规律 II 🔒 | Java | 中等 | 哈希表 字符串 回溯 |
17 | 电话号码的字母组合 | Java | 中等 | 哈希表 字符串 回溯 |
320 | 列举单词的全部缩写 🔒 | Java | 中等 | 位运算 字符串 回溯 |
93 | 复原 IP 地址 | Java | 中等 | 字符串 回溯 |
282 | 给表达式添加运算符 | Java | 困难 | 数学 字符串 回溯 |
140 | 单词拆分 II | Java | 困难 | 字典树 记忆化搜索 哈希表 字符串 动态规划 回溯 |
351 | 安卓系统手势解锁 🔒 | Java | 中等 | 动态规划 回溯 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
70 | 爬楼梯 | Java | 简单 | 记忆化搜索 数学 动态规划 |
62 | 不同路径 | Java | 中等 | 数学 动态规划 组合数学 |
63 | 不同路径 II | Java | 中等 | 数学 动态规划 矩阵 |
120 | 三角形最小路径和 | Java | 中等 | 数学 动态规划 |
279 | 完全平方数 | Java | 中等 | 广度优先搜索 数学 动态规划 |
139 | 单词拆分 | Java | 中等 | 字典树 记忆化搜索 哈希表 字符串 动态规划 |
375 | 猜数字大小 II | Java | 中等 | 数学 动态规划 博弈 |
312 | 戳气球 | Java | 困难 | 数组 动态规划 |
322 | 零钱兑换 | Java | 中等 | 广度优先搜索 数组 动态规划 |
256 | 粉刷房子 🔒 | Java | 中等 | 数组 动态规划 |
265 | 粉刷房子 II 🔒 | Java | 困难 | 数组 动态规划 |
64 | 最小路径和 | Java | 中等 | 数组 动态规划 矩阵 |
72 | 编辑距离 | Java | 困难 | 字符串 动态规划 |
97 | 交错字符串 | Java | 中等 | 字符串 动态规划 |
174 | 地下城游戏 | Java | 困难 | 数组 动态规划 矩阵 |
221 | 最大正方形 | Java | 中等 | 数组 动态规划 矩阵 |
85 | 最大矩形 | Java | 困难 | 栈 数组 动态规划 矩阵 单调栈 |
363 | 矩形区域不超过 K 的最大数值和 | Java | 困难 | 数组 二分查找 动态规划 矩阵 有序集合 |
198 | 打家劫舍 | Java | 中等 | 数组 动态规划 |
213 | 打家劫舍 II | Java | 中等 | 数组 动态规划 |
276 | 栅栏涂色 🔒 | Java | 中等 | 动态规划 |
91 | 解码方法 | Java | 中等 | 字符串 动态规划 |
10 | 正则表达式匹配 | Java | 困难 | 递归 字符串 动态规划 |
44 | 通配符匹配 | Java | 困难 | 贪心 递归 字符串 动态规划 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
206 | 反转链表 | Java | 简单 | 递归 链表 |
141 | 环形链表 | Java | 简单 | 哈希表 链表 双指针 |
24 | 两两交换链表中的节点 | Java | 中等 | 递归 链表 |
328 | 奇偶链表 | Java | 中等 | 链表 |
92 | 反转链表 II | Java | 中等 | 链表 |
237 | 删除链表中的节点 | Java | 简单 | 链表 |
19 | 删除链表的倒数第 N 个节点 | Java | 中等 | 链表 双指针 |
83 | 删除排序链表中的重复元素 | Java | 简单 | 链表 |
203 | 移除链表元素 | Java | 简单 | 递归 链表 |
82 | 删除排序链表中的重复元素 II | Java | 中等 | 链表 双指针 |
369 | 给单链表加一 🔒 | Java | 中等 | 链表 数学 |
2 | 两数相加 | Java | 中等 | 递归 链表 数学 |
160 | 相交链表 | Java | 简单 | 哈希表 链表 双指针 |
21 | 合并两个有序链表 | Java | 简单 | 递归 链表 |
234 | 回文链表 | Java | 简单 | 栈 递归 链表 双指针 |
143 | 重排链表 | Java | 中等 | 栈 递归 链表 双指针 |
142 | 环形链表 II | Java | 中等 | 哈希表 链表 双指针 |
148 | 排序链表 | Java | 中等 | 链表 双指针 分治 排序 归并排序 |
25 | K 个一组翻转链表 | Java | 困难 | 递归 链表 |
61 | 旋转链表 | Java | 中等 | 链表 双指针 |
86 | 分隔链表 | Java | 中等 | 链表 双指针 |
23 | 合并K个升序链表 | Java | 困难 | 链表 分治 堆(优先队列) 归并排序 |
147 | 对链表进行插入排序 | Java | 中等 | 链表 排序 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
278 | 第一个错误的版本 | Java | 简单 | 二分查找 交互 |
35 | 搜索插入位置 | Java | 简单 | 数组 二分查找 |
81 | 搜索旋转排序数组 II | Java | 中等 | 数组 二分查找 |
153 | 寻找旋转排序数组中的最小值 | Java | 中等 | 数组 二分查找 |
162 | 寻找峰值 | Java | 中等 | 数组 二分查找 |
374 | 猜数字大小 | Java | 简单 | 二分查找 交互 |
34 | 在排序数组中查找元素的第一个和最后一个位置 | Java | 中等 | 数组 二分查找 |
349 | 两个数组的交集 | Java | 简单 | 数组 哈希表 双指针 二分查找 排序 |
350 | 两个数组的交集 II | Java | 简单 | 数组 哈希表 双指针 二分查找 排序 |
315 | 计算右侧小于当前元素的个数 | Java | 困难 | 树状数组 线段树 数组 二分查找 分治 有序集合 归并排序 |
300 | 最长递增子序列 | Java | 中等 | 数组 二分查找 动态规划 |
354 | 俄罗斯套娃信封问题 | Java | 困难 | 数组 二分查找 动态规划 排序 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
48 | 旋转图像 | Java | 中等 | 数组 数学 矩阵 |
54 | 螺旋矩阵 | Java | 中等 | 数组 矩阵 模拟 |
59 | 螺旋矩阵 II | Java | 中等 | 数组 矩阵 模拟 |
73 | 矩阵置零 | Java | 中等 | 数组 哈希表 矩阵 |
311 | 稀疏矩阵的乘法 🔒 | Java | 中等 | 数组 哈希表 矩阵 |
329 | 矩阵中的最长递增路径 | Java | 困难 | 深度优先搜索 广度优先搜索 图 拓扑排序 记忆化搜索 动态规划 |
378 | 有序矩阵中第 K 小的元素 | Java | 中等 | 数组 二分查找 矩阵 排序 堆(优先队列) |
74 | 搜索二维矩阵 | Java | 中等 | 数组 二分查找 矩阵 |
240 | 搜索二维矩阵 II | Java | 中等 | 数组 二分查找 分治 矩阵 |
370 | 区间加法 🔒 | Java | 中等 | 数组 前缀和 |
79 | 单词搜索 | Java | 中等 | 数组 回溯 矩阵 |
296 | 最佳的碰头地点 🔒 | Java | 困难 | 数组 数学 矩阵 排序 |
361 | 轰炸敌人 🔒 | Java | 中等 | 数组 动态规划 矩阵 |
317 | 离建筑物最近的距离 🔒 | Java | 困难 | 广度优先搜索 数组 矩阵 |
302 | 包含全部黑色像素的最小矩形 🔒 | Java | 困难 | 深度优先搜索 广度优先搜索 数组 二分查找 矩阵 |
36 | 有效的数独 | Java | 中等 | 数组 哈希表 矩阵 |
37 | 解数独 | Java | 困难 | 数组 回溯 矩阵 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
200 | 岛屿数量 | Java | 中等 | 深度优先搜索 广度优先搜索 并查集 数组 矩阵 |
286 | 墙与门 🔒 | Java | 中等 | 广度优先搜索 数组 矩阵 |
130 | 被围绕的区域 | Java | 中等 | 深度优先搜索 广度优先搜索 并查集 数组 矩阵 |
339 | 嵌套列表权重和 🔒 | Java | 中等 | 深度优先搜索 广度优先搜索 |
364 | 加权嵌套序列和 II 🔒 | Java | 中等 | 栈 深度优先搜索 广度优先搜索 |
127 | 单词接龙 | Java | 困难 | 广度优先搜索 哈希表 字符串 |
126 | 单词接龙 II | Java | 困难 | 广度优先搜索 哈希表 字符串 回溯 |
51 | N 皇后 | Java | 困难 | 数组 回溯 |
52 | N皇后 II | Java | 困难 | 回溯 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
155 | 最小栈 | Java | 简单 | 栈 设计 |
232 | 用栈实现队列 | Java | 简单 | 栈 设计 队列 |
225 | 用队列实现栈 | Java | 简单 | 栈 设计 队列 |
150 | 逆波兰表达式求值 | Java | 中等 | 栈 数组 数学 |
71 | 简化路径 | Java | 中等 | 栈 字符串 |
388 | 文件的最长绝对路径 | Java | 中等 | 栈 深度优先搜索 字符串 |
394 | 字符串解码 | Java | 中等 | 栈 递归 字符串 |
224 | 基本计算器 | Java | 困难 | 栈 递归 数学 字符串 |
227 | 基本计算器 II | Java | 中等 | 栈 数学 字符串 |
385 | 迷你语法分析器 | Java | 中等 | 栈 深度优先搜索 字符串 |
84 | 柱状图中最大的矩形 | Java | 困难 | 栈 数组 单调栈 |
215 | 数组中的第K个最大元素 | Java | 中等 | 数组 分治 快速排序 排序 堆(优先队列) |
347 | 前 K 个高频元素 | Java | 中等 | 数组 哈希表 分治 桶排序 计数 快速排序 排序 堆(优先队列) |
313 | 超级丑数 | Java | 中等 | 数组 哈希表 数学 动态规划 堆(优先队列) |
373 | 查找和最小的K对数字 | Java | 中等 | 数组 堆(优先队列) |
218 | 天际线问题 | Java | 困难 | 树状数组 线段树 数组 分治 有序集合 扫描线 堆(优先队列) |
332 | 重新安排行程 | Java | 困难 | 深度优先搜索 图 欧拉回路 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
389 | 找不同 | Java | 简单 | 位运算 哈希表 字符串 排序 |
136 | 只出现一次的数字 | Java | 简单 | 位运算 数组 |
318 | 最大单词长度乘积 | Java | 中等 | 位运算 数组 字符串 |
393 | UTF-8 编码验证 | Java | 中等 | 位运算 数组 |
201 | 数字范围按位与 | Java | 中等 | 位运算 |
371 | 两整数之和 | Java | 中等 | 位运算 数学 |
338 | 比特位计数 | Java | 简单 | 位运算 动态规划 |
89 | 格雷编码 | Java | 中等 | 位运算 数学 回溯 |
268 | 丢失的数字 | Java | 简单 | 位运算 数组 哈希表 数学 排序 |
191 | 位1的个数 | Java | 简单 | 位运算 |
190 | 颠倒二进制位 | Java | 简单 | 位运算 分治 |
137 | 只出现一次的数字 II | Java | 中等 | 位运算 数组 |
260 | 只出现一次的数字 III | Java | 中等 | 位运算 数组 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
133 | 克隆图 | Java | 中等 | 深度优先搜索 广度优先搜索 图 哈希表 |
399 | 除法求值 | Java | 中等 | 深度优先搜索 广度优先搜索 并查集 图 数组 最短路 |
310 | 最小高度树 | Java | 中等 | 深度优先搜索 广度优先搜索 图 拓扑排序 |
207 | 课程表 | Java | 中等 | 深度优先搜索 广度优先搜索 图 拓扑排序 |
210 | 课程表 II | Java | 中等 | 深度优先搜索 广度优先搜索 图 拓扑排序 |
149 | 直线上最多的点数 | Java | 困难 | 几何 哈希表 数学 |
305 | 岛屿数量 II | Java | 困难 | 并查集 数组 |
547 | 省份数量 | Java | 中等 | 深度优先搜索 广度优先搜索 图 并查集 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
211 | 添加与搜索单词 - 数据结构设计 | Java | 中等 | 深度优先搜索 设计 字典树 字符串 |
208 | 实现 Trie (前缀树) | Java | 中等 | 设计 字典树 哈希表 字符串 |
212 | 单词搜索 II | Java | 困难 | 字典树 数组 字符串 回溯 矩阵 |
# | 题目 | 题解 | 难度 | 标签 |
---|---|---|---|---|
146 | LRU 缓存 | Java | 中等 | 设计 哈希表 链表 双向链表 |
460 | LFU 缓存 | Java | 困难 | 设计 哈希表 链表 双向链表 |