3 | 无重复字符的最长子串open in new window | [✓] | 哈希表 字符串 滑动窗口 | | 642 |
206 | 反转链表open in new window | [✓] | 递归 链表 | | 575 |
146 | LRU 缓存open in new window | [✓] | 设计 哈希表 链表 1+ | | 525 |
215 | 数组中的第K个最大元素open in new window | [✓] | 数组 分治 快速选择 2+ | | 420 |
25 | K 个一组翻转链表open in new window | [✓] | 递归 链表 | | 332 |
15 | 三数之和open in new window | [✓] | 数组 双指针 排序 | | 310 |
53 | 最大子数组和open in new window | [✓] | 数组 分治 动态规划 | | 261 |
21 | 合并两个有序链表open in new window | [✓] | 递归 链表 | | 242 |
1 | 两数之和open in new window | [✓] | 数组 哈希表 | | 232 |
5 | 最长回文子串open in new window | [✓] | 双指针 字符串 动态规划 | | 222 |
33 | 搜索旋转排序数组open in new window | [✓] | 数组 二分查找 | | 220 |
102 | 二叉树的层序遍历open in new window | [✓] | 树 广度优先搜索 二叉树 | | 220 |
121 | 买卖股票的最佳时机open in new window | [✓] | 数组 动态规划 | | 211 |
200 | 岛屿数量open in new window | [✓] | 深度优先搜索 广度优先搜索 并查集 2+ | | 211 |
141 | 环形链表open in new window | [✓] | 哈希表 链表 双指针 | | 210 |
20 | 有效的括号open in new window | [✓] | 栈 字符串 | | 207 |
88 | 合并两个有序数组open in new window | [✓] | 数组 双指针 排序 | | 204 |
46 | 全排列open in new window | [✓] | 数组 回溯 | | 202 |
103 | 二叉树的锯齿形层序遍历open in new window | [✓] | 树 广度优先搜索 二叉树 | | 200 |
236 | 二叉树的最近公共祖先open in new window | [✓] | 树 深度优先搜索 二叉树 | | 199 |
54 | 螺旋矩阵open in new window | [✓] | 数组 矩阵 模拟 | | 186 |
92 | 反转链表 IIopen in new window | [✓] | 链表 | | 184 |
160 | 相交链表open in new window | [✓] | 哈希表 链表 双指针 | | 176 |
23 | 合并 K 个升序链表open in new window | [✓] | 链表 分治 堆(优先队列) 1+ | | 173 |
415 | 字符串相加open in new window | [✓] | 数学 字符串 模拟 | | 166 |
300 | 最长递增子序列open in new window | [✓] | 数组 二分查找 动态规划 | | 163 |
142 | 环形链表 IIopen in new window | [✓] | 哈希表 链表 双指针 | | 148 |
143 | 重排链表open in new window | [✓] | 栈 递归 链表 1+ | | 148 |
42 | 接雨水open in new window | [✓] | 栈 数组 双指针 2+ | | 147 |
19 | 删除链表的倒数第 N 个结点open in new window | [✓] | 链表 双指针 | | 129 |
124 | 二叉树中的最大路径和open in new window | [✓] | 树 深度优先搜索 动态规划 1+ | | 129 |
72 | 编辑距离open in new window | [✓] | 字符串 动态规划 | | 127 |
56 | 合并区间open in new window | [✓] | 数组 排序 | | 125 |
94 | 二叉树的中序遍历open in new window | [✓] | 栈 树 深度优先搜索 1+ | | 124 |
232 | 用栈实现队列open in new window | [✓] | 栈 设计 队列 | | 120 |
704 | 二分查找open in new window | [✓] | 数组 二分查找 | | 120 |
1143 | 最长公共子序列open in new window | [✓] | 字符串 动态规划 | | 120 |
199 | 二叉树的右视图open in new window | [✓] | 树 深度优先搜索 广度优先搜索 1+ | | 118 |
82 | 删除排序链表中的重复元素 IIopen in new window | [✓] | 链表 双指针 | | 117 |
4 | 寻找两个正序数组的中位数open in new window | [✓] | 数组 二分查找 分治 | | 117 |
93 | 复原 IP 地址open in new window | [✓] | 字符串 回溯 | | 114 |
148 | 排序链表open in new window | [✓] | 链表 双指针 分治 2+ | | 111 |
31 | 下一个排列open in new window | [✓] | 数组 双指针 | | 111 |
69 | x 的平方根open in new window | [✓] | 数学 二分查找 | | 109 |
70 | 爬楼梯open in new window | [✓] | 记忆化搜索 数学 动态规划 | | 109 |
8 | 字符串转换整数 (atoi)open in new window | [✓] | 字符串 | | 106 |
2 | 两数相加open in new window | [✓] | 递归 链表 数学 | | 106 |
22 | 括号生成open in new window | [✓] | 字符串 动态规划 回溯 | | 105 |
239 | 滑动窗口最大值open in new window | [✓] | 队列 数组 滑动窗口 2+ | | 98 |
41 | 缺失的第一个正数open in new window | [✓] | 数组 哈希表 | | 97 |
165 | 比较版本号open in new window | | 双指针 字符串 | | 96 |
剑指 Offer 22 | 链表中倒数第k个节点open in new window | [✓] | 链表 双指针 | | 95 |
76 | 最小覆盖子串open in new window | [✓] | 哈希表 字符串 滑动窗口 | | 87 |
78 | 子集open in new window | [✓] | 位运算 数组 回溯 | | 85 |
322 | 零钱兑换open in new window | [✓] | 广度优先搜索 数组 动态规划 | | 84 |
155 | 最小栈open in new window | [✓] | 栈 设计 | | 84 |
105 | 从前序与中序遍历序列构造二叉树open in new window | [✓] | 树 数组 哈希表 2+ | | 84 |
43 | 字符串相乘open in new window | [✓] | 数学 字符串 模拟 | | 82 |
151 | 反转字符串中的单词open in new window | [✓] | 双指针 字符串 | | 81 |
32 | 最长有效括号open in new window | [✓] | 栈 字符串 动态规划 | | 81 |
144 | 二叉树的前序遍历open in new window | [✓] | 栈 树 深度优先搜索 1+ | | 78 |
104 | 二叉树的最大深度open in new window | [✓] | 树 深度优先搜索 广度优先搜索 1+ | | 77 |
110 | 平衡二叉树open in new window | [✓] | 树 深度优先搜索 二叉树 | | 77 |
129 | 求根节点到叶节点数字之和open in new window | [✓] | 树 深度优先搜索 二叉树 | | 76 |
101 | 对称二叉树open in new window | [✓] | 树 深度优先搜索 广度优先搜索 1+ | | 76 |
543 | 二叉树的直径open in new window | [✓] | 树 深度优先搜索 二叉树 | | 74 |
98 | 验证二叉搜索树open in new window | [✓] | 树 深度优先搜索 二叉搜索树 1+ | | 71 |
48 | 旋转图像open in new window | [✓] | 数组 数学 矩阵 | | 70 |
113 | 路径总和 IIopen in new window | [✓] | 树 深度优先搜索 回溯 1+ | | 69 |
221 | 最大正方形open in new window | [✓] | 数组 动态规划 矩阵 | | 68 |
39 | 组合总和open in new window | [✓] | 数组 回溯 | | 68 |
470 | 用 Rand7() 实现 Rand10()open in new window | | 数学 拒绝采样 概率与统计 1+ | | 68 |
64 | 最小路径和open in new window | [✓] | 数组 动态规划 矩阵 | | 68 |
34 | 在排序数组中查找元素的第一个和最后一个位置open in new window | [✓] | 数组 二分查找 | | 67 |
394 | 字符串解码open in new window | [✓] | 栈 递归 字符串 | | 66 |
234 | 回文链表open in new window | [✓] | 栈 递归 链表 1+ | | 65 |
112 | 路径总和open in new window | [✓] | 树 深度优先搜索 广度优先搜索 1+ | | 65 |
240 | 搜索二维矩阵 IIopen in new window | [✓] | 数组 二分查找 分治 1+ | | 61 |
169 | 多数元素open in new window | [✓] | 数组 哈希表 分治 2+ | | 61 |
718 | 最长重复子数组open in new window | | 数组 二分查找 动态规划 3+ | | 60 |
162 | 寻找峰值open in new window | [✓] | 数组 二分查找 | | 60 |
226 | 翻转二叉树open in new window | [✓] | 树 深度优先搜索 广度优先搜索 1+ | | 59 |
14 | 最长公共前缀open in new window | [✓] | 字典树 字符串 | | 58 |
662 | 二叉树最大宽度open in new window | [✓] | 树 深度优先搜索 广度优先搜索 1+ | | 57 |
122 | 买卖股票的最佳时机 IIopen in new window | [✓] | 贪心 数组 动态规划 | | 56 |
695 | 岛屿的最大面积open in new window | [✓] | 深度优先搜索 广度优先搜索 并查集 2+ | | 56 |
128 | 最长连续序列open in new window | [✓] | 并查集 数组 哈希表 | | 56 |
152 | 乘积最大子数组open in new window | [✓] | 数组 动态规划 | | 55 |
62 | 不同路径open in new window | [✓] | 数学 动态规划 组合数学 | | 55 |
83 | 删除排序链表中的重复元素open in new window | [✓] | 链表 | | 54 |
227 | 基本计算器 IIopen in new window | [✓] | 栈 数学 字符串 | | 54 |
139 | 单词拆分open in new window | [✓] | 字典树 记忆化搜索 数组 3+ | | 52 |
179 | 最大数open in new window | | 贪心 数组 字符串 1+ | | 51 |
198 | 打家劫舍open in new window | [✓] | 数组 动态规划 | | 51 |
24 | 两两交换链表中的节点open in new window | [✓] | 递归 链表 | | 50 |
283 | 移动零open in new window | [✓] | 数组 双指针 | | 49 |
560 | 和为 K 的子数组open in new window | [✓] | 数组 哈希表 前缀和 | | 49 |
209 | 长度最小的子数组open in new window | [✓] | 数组 二分查找 前缀和 1+ | | 49 |
297 | 二叉树的序列化与反序列化open in new window | [✓] | 树 深度优先搜索 广度优先搜索 3+ | | 49 |
153 | 寻找旋转排序数组中的最小值open in new window | [✓] | 数组 二分查找 | | 49 |
468 | 验证IP地址open in new window | | 字符串 | | 48 |
138 | 随机链表的复制open in new window | [✓] | 哈希表 链表 | | 47 |
739 | 每日温度open in new window | [✓] | 栈 数组 单调栈 | | 46 |
136 | 只出现一次的数字open in new window | [✓] | 位运算 数组 | | 45 |
460 | LFU 缓存open in new window | | 设计 哈希表 链表 1+ | | 45 |
剑指 Offer 9 | 用两个栈实现队列open in new window | [✓] | 栈 设计 队列 | | 44 |
402 | 移掉 K 位数字open in new window | | 栈 贪心 字符串 1+ | | 44 |
11 | 盛最多水的容器open in new window | [✓] | 贪心 数组 双指针 | | 43 |
剑指 Offer 36 | 二叉搜索树与双向链表open in new window | [✓] | 栈 树 深度优先搜索 4+ | | 43 |
224 | 基本计算器open in new window | [✓] | 栈 递归 数学 1+ | | 43 |
207 | 课程表open in new window | [✓] | 深度优先搜索 广度优先搜索 图 1+ | | 43 |
498 | 对角线遍历open in new window | [✓] | 数组 矩阵 模拟 | | 43 |
958 | 二叉树的完全性检验open in new window | [✓] | 树 广度优先搜索 二叉树 | | 42 |
47 | 全排列 IIopen in new window | [✓] | 数组 回溯 | | 40 |
79 | 单词搜索open in new window | [✓] | 数组 字符串 回溯 1+ | | 38 |
55 | 跳跃游戏open in new window | [✓] | 贪心 数组 动态规划 | | 38 |
123 | 买卖股票的最佳时机 IIIopen in new window | [✓] | 数组 动态规划 | | 38 |
61 | 旋转链表open in new window | [✓] | 链表 双指针 | | 38 |
50 | Pow(x, n)open in new window | [✓] | 递归 数学 | | 37 |
剑指 Offer 51 | 数组中的逆序对open in new window | [✓] | 树状数组 线段树 数组 4+ | | 37 |
7 | 整数反转open in new window | [✓] | 数学 | | 37 |
剑指 Offer 54 | 二叉搜索树的第k大节点open in new window | [✓] | 树 深度优先搜索 二叉搜索树 1+ | | 37 |
59 | 螺旋矩阵 IIopen in new window | [✓] | 数组 矩阵 模拟 | | 36 |
剑指 Offer 40 | 最小的k个数open in new window | [✓] | 数组 分治 快速选择 2+ | | 36 |
145 | 二叉树的后序遍历open in new window | [✓] | 栈 树 深度优先搜索 1+ | | 36 |
剑指 Offer 10-II | 青蛙跳台阶问题open in new window | [✓] | 记忆化搜索 数学 动态规划 | | 36 |
74 | 搜索二维矩阵open in new window | [✓] | 数组 二分查找 矩阵 | | 35 |
26 | 删除有序数组中的重复项open in new window | [✓] | 数组 双指针 | | 35 |
518 | 零钱兑换 IIopen in new window | [✓] | 数组 动态规划 | | 35 |
剑指 Offer 42 | 连续子数组的最大和open in new window | [✓] | 数组 分治 动态规划 | | 35 |
40 | 组合总和 IIopen in new window | [✓] | 数组 回溯 | | 35 |
剑指 Offer 4 | 二维数组中的查找open in new window | [✓] | 数组 二分查找 分治 1+ | | 34 |
440 | 字典序的第K小数字open in new window | [✓] | 字典树 | | 33 |
450 | 删除二叉搜索树中的节点open in new window | [✓] | 树 二叉搜索树 二叉树 | | 33 |
75 | 颜色分类open in new window | [✓] | 数组 双指针 排序 | | 33 |
剑指 Offer 10 | 斐波那契数列open in new window | [✓] | 记忆化搜索 数学 动态规划 | | 33 |
剑指 Offer 26 | 树的子结构open in new window | [✓] | 树 深度优先搜索 二叉树 | | 32 |
45 | 跳跃游戏 IIopen in new window | [✓] | 贪心 数组 动态规划 | | 31 |
230 | 二叉搜索树中第 K 小的元素open in new window | [✓] | 树 深度优先搜索 二叉搜索树 1+ | | 31 |
剑指 Offer 62 | 圆圈中最后剩下的数字open in new window | [✓] | 递归 数学 | | 30 |
剑指 Offer 21 | 调整数组顺序使奇数位于偶数前面open in new window | [✓] | 数组 双指针 排序 | | 30 |
16 | 最接近的三数之和open in new window | [✓] | 数组 双指针 排序 | | 29 |
125 | 验证回文串open in new window | [✓] | 双指针 字符串 | | 29 |
225 | 用队列实现栈open in new window | [✓] | 栈 设计 队列 | | 29 |
135 | 分发糖果open in new window | [✓] | 贪心 数组 | | 29 |
572 | 另一棵树的子树open in new window | [✓] | 树 深度优先搜索 二叉树 2+ | | 28 |
445 | 两数相加 IIopen in new window | [✓] | 栈 链表 数学 | | 28 |
114 | 二叉树展开为链表open in new window | [✓] | 栈 树 深度优先搜索 2+ | | 28 |
384 | 打乱数组open in new window | | 数组 数学 随机化 | | 28 |
328 | 奇偶链表open in new window | [✓] | 链表 | | 28 |
91 | 解码方法open in new window | | 字符串 动态规划 | | 28 |
329 | 矩阵中的最长递增路径open in new window | | 深度优先搜索 广度优先搜索 图 5+ | | 28 |
208 | 实现 Trie (前缀树)open in new window | [✓] | 设计 字典树 哈希表 1+ | | 27 |
9 | 回文数open in new window | [✓] | 数学 | | 27 |
10 | 正则表达式匹配open in new window | [✓] | 递归 字符串 动态规划 | | 26 |
295 | 数据流的中位数open in new window | [✓] | 设计 双指针 数据流 2+ | | 26 |
189 | 轮转数组open in new window | [✓] | 数组 数学 双指针 | | 26 |
347 | 前 K 个高频元素open in new window | [✓] | 数组 哈希表 分治 5+ | | 25 |
106 | 从中序与后序遍历序列构造二叉树open in new window | [✓] | 树 数组 哈希表 2+ | | 25 |
213 | 打家劫舍 IIopen in new window | | 数组 动态规划 | | 25 |
287 | 寻找重复数open in new window | [✓] | 位运算 数组 双指针 1+ | | 25 |
剑指 Offer 27 | 二叉树的镜像open in new window | [✓] | 树 深度优先搜索 广度优先搜索 1+ | | 25 |
剑指 Offer 29 | 顺时针打印矩阵open in new window | [✓] | 数组 矩阵 模拟 | | 24 |
96 | 不同的二叉搜索树open in new window | [✓] | 树 二叉搜索树 数学 2+ | | 24 |
120 | 三角形最小路径和open in new window | [✓] | 数组 动态规划 | | 23 |
400 | 第 N 位数字open in new window | [✓] | 数学 二分查找 | | 23 |
1004 | 最大连续1的个数 IIIopen in new window | [✓] | 数组 二分查找 前缀和 1+ | | 22 |
349 | 两个数组的交集open in new window | | 数组 哈希表 双指针 2+ | | 22 |
剑指 Offer 61 | 扑克牌中的顺子open in new window | [✓] | 数组 排序 | | 21 |
85 | 最大矩形open in new window | [✓] | 栈 数组 动态规划 2+ | | 21 |
1047 | 删除字符串中的所有相邻重复项open in new window | [✓] | 栈 字符串 | | 21 |
71 | 简化路径open in new window | [✓] | 栈 字符串 | | 21 |
679 | 24 点游戏open in new window | | 数组 数学 回溯 | | 21 |
678 | 有效的括号字符串open in new window | [✓] | 栈 贪心 字符串 1+ | | 21 |
剑指 Offer 52 | 两个链表的第一个公共节点open in new window | [✓] | 哈希表 链表 双指针 | | 21 |
887 | 鸡蛋掉落open in new window | | 数学 二分查找 动态规划 | | 21 |
111 | 二叉树的最小深度open in new window | [✓] | 树 深度优先搜索 广度优先搜索 1+ | | 20 |
1444 | 切披萨的方案数open in new window | | 记忆化搜索 数组 动态规划 1+ | | 20 |
611 | 有效三角形的个数open in new window | [✓] | 贪心 数组 双指针 2+ | | 20 |
134 | 加油站open in new window | [✓] | 贪心 数组 | | 20 |
剑指 Offer 39 | 数组中出现次数超过一半的数字open in new window | [✓] | 数组 哈希表 分治 2+ | | 20 |
168 | Excel 表列名称open in new window | | 数学 字符串 | | 20 |
44 | 通配符匹配open in new window | [✓] | 贪心 递归 字符串 1+ | | 19 |
556 | 下一个更大元素 IIIopen in new window | | 数学 双指针 字符串 | | 19 |
210 | 课程表 IIopen in new window | [✓] | 深度优先搜索 广度优先搜索 图 1+ | | 19 |
673 | 最长递增子序列的个数open in new window | | 树状数组 线段树 数组 1+ | | 19 |
442 | 数组中重复的数据open in new window | [✓] | 数组 哈希表 | | 19 |
509 | 斐波那契数open in new window | [✓] | 递归 记忆化搜索 数学 1+ | | 19 |
395 | 至少有 K 个重复字符的最长子串open in new window | | 哈希表 字符串 分治 1+ | | 18 |
63 | 不同路径 IIopen in new window | [✓] | 数组 动态规划 矩阵 | | 18 |
279 | 完全平方数open in new window | [✓] | 广度优先搜索 数学 动态规划 | | 18 |
443 | 压缩字符串open in new window | [✓] | 双指针 字符串 | | 18 |
剑指 Offer 45 | 把数组排成最小的数open in new window | [✓] | 贪心 字符串 排序 | | 18 |
37 | 解数独open in new window | [✓] | 数组 哈希表 回溯 1+ | | 18 |
459 | 重复的子字符串open in new window | [✓] | 字符串 字符串匹配 | | 18 |
剑指 Offer 34 | 二叉树中和为某一值的路径open in new window | [✓] | 树 深度优先搜索 回溯 1+ | | 18 |
剑指 Offer 53 | 在排序数组中查找数字 Iopen in new window | [✓] | 数组 二分查找 | | 18 |
86 | 分隔链表open in new window | [✓] | 链表 双指针 | | 18 |
494 | 目标和open in new window | [✓] | 数组 动态规划 回溯 | | 17 |
516 | 最长回文子序列open in new window | [✓] | 字符串 动态规划 | | 17 |
115 | 不同的子序列open in new window | | 字符串 动态规划 | | 17 |
84 | 柱状图中最大的矩形open in new window | [✓] | 栈 数组 单调栈 | | 17 |
97 | 交错字符串open in new window | [✓] | 字符串 动态规划 | | 17 |
264 | 丑数 IIopen in new window | [✓] | 哈希表 数学 动态规划 1+ | | 17 |
剑指 Offer 48 | 最长不含重复字符的子字符串open in new window | [✓] | 哈希表 字符串 滑动窗口 | | 17 |
242 | 有效的字母异位词open in new window | [✓] | 哈希表 字符串 排序 | | 17 |
344 | 反转字符串open in new window | [✓] | 双指针 字符串 | | 17 |
557 | 反转字符串中的单词 IIIopen in new window | [✓] | 双指针 字符串 | | 17 |
670 | 最大交换open in new window | [✓] | 贪心 数学 | | 17 |
剑指 Offer 11 | 旋转数组的最小数字open in new window | [✓] | 数组 二分查找 | | 17 |
191 | 位1的个数open in new window | [✓] | 位运算 分治 | | 17 |