Solve problems from Leetcode.
Leetcode 题解
# | 题名 | 难度 |
---|---|---|
1 | 两数之和 | 简单 |
2 | 两数相加 | 中等 |
3 | 无重复字符的最长子串 | 中等 |
4 | 寻找两个有序数组的中位数 | 困难 |
5 | 最长回文子串 | 中等 |
6 | Z字形变换 | 中等 |
7 | 整数反转 | 简单 |
8 | 字符串转换整数(atoi) | 中等 |
9 | 回文数 | 简单 |
10 | 正则表达式匹配 | 困难 |
11 | 盛最多水的容器 | 中等 |
12 | 整数转罗马数字 | 中等 |
13 | 罗马数字转整数 | 简单 |
14 | 最长公共前缀 | 简单 |
15 | 三数之和 | 中等 |
16 | 最接近的三数之和 | 中等 |
17 | 电话号码的字母组合 | 中等 |
18 | 四数之和 | 中等 |
19 | 删除链表的倒数第N个节点 | 简单 |
20 | 有效的括号 | 简单 |
21 | 合并两个有序链表 | 中等 |
22 | 括号生成 | 中等 |
23 | 合并K个排序链表 | 困难 |
24 | 两两交换链表中的节点 | 中等 |
25 | K个一组翻转链表 | 困难 |
26 | 删除排序数组中的重复项 | 简单 |
27 | 移除元素 | 简单 |
28 | 实现strStr() | 简单 |
29 | 两数相除 | 中等 |
30 | 串联所有单词的子串 | 困难 |
31 | 下一个排列 | 中等 |
32 | 最长有效括号 | 困难 |
33 | 搜索旋转排序数组 | 中等 |
34 | 在排序数组中查找元素的第一个和最后一个位置 | 中等 |
35 | 搜索插入位置 | 简单 |
36 | 有效的数独 | 中等 |
37 | 解数独 | 困难 |
38 | 外观数列 | 简单 |
39 | 组合总和 | 中等 |
40 | 组合总和II | 中等 |
41 | 缺失的第一个正数 | 困难 |
42 | 接雨水 | 困难 |
43 | 字符串相乘 | 中等 |
44 | 通配符匹配 | 困难 |
45 | 跳跃游戏II | 困难 |
46 | 全排列 | 中等 |
47 | 全排列II | 中等 |
48 | 旋转图像 | 中等 |
49 | 字母异位词分组 | 中等 |
50 | Pow(x,n) | 中等 |
51 | N皇后 | 困难 |
52 | N皇后II | 困难 |
53 | 最大子序和 | 简单 |
54 | 螺旋矩阵 | 中等 |
55 | 跳跃游戏 | 中等 |
56 | 合并区间 | 中等 |
57 | 插入区间 | 困难 |
58 | 最后一个单词的长度 | 简单 |
59 | 螺旋矩阵II | 中等 |
60 | 第k个排列 | 中等 |
61 | 旋转链表 | 中等 |
62 | 不同路径 | 中等 |
63 | 不同路径II | 中等 |
64 | 最小路径和 | 中等 |
65 | 有效数字 | 困难 |
66 | 加一 | 简单 |
67 | 二进制求和 | 简单 |
68 | 文本左右对齐 | 困难 |
69 | x的平方根 | 简单 |
70 | 爬楼梯 | 简单 |
71 | 简化路径 | 中等 |
72 | 编辑距离 | 困难 |
73 | 矩阵置零 | 中等 |
74 | 搜索二维矩阵 | 中等 |
75 | 颜色分类 | 中等 |
76 | 最小覆盖子串 | 困难 |
77 | 组合 | 中等 |
78 | 子集 | 中等 |
79 | 单词搜索 | 中等 |
80 | 删除排序数组中的重复项II | 中等 |
81 | 搜索旋转排序数组II | 中等 |
82 | 删除排序链表中的重复元素II | 中等 |
83 | 删除排序链表中的重复元素 | 简单 |
84 | 柱状图中最大的矩形 | 困难 |
85 | 最大矩形 | 困难 |
86 | 分隔链表 | 中等 |
87 | 扰乱字符串 | 困难 |
88 | 合并两个有序数组 | 简单 |
89 | 格雷编码 | 中等 |
90 | 子集II | 中等 |
91 | 解码方法 | 中等 |
92 | 反转链表II | 中等 |
93 | 复原IP地址 | 中等 |
94 | 二叉树的中序遍历 | 中等 |
95 | 不同的二叉搜索树II | 中等 |
96 | 不同的二叉搜索树 | 中等 |
97 | 交错字符串 | 困难 |
98 | 验证二叉搜索树 | 中难 |
99 | 恢复二叉搜索树 | 困难 |
100 | 相同的树 | 简单 |
101 | 对称二叉树 | 简单 |
102 | 二叉树的层序遍历 | 中等 |
103 | 二叉树的锯齿形层序遍历 | 中等 |
104 | 二叉树的最大深度 | 简单 |
107 | 二叉树的层序遍历 II | 简单 |
108 | 将有序数组转换为二叉搜索树 | 简单 |
109 | 有序链表转换二叉搜索树 | 中等 |
110 | 平衡二叉树 | 简单 |
111 | 二叉树的最小深度 | 简单 |
112 | 路径总和 | 简单 |
114 | 二叉树展开为链表) | 中等 |
118 | 杨辉三角 | 简单 |
120 | 三角形最小路径和 | 中等 |
122 | 买卖股票的最佳时机 II | 简单 |
123 | 买卖股票的最佳时机 III | 困难 |
124 | 二叉树中的最大路径和 | 困难 |
125 | 验证回文串 | 简单 |
129 | 求根到叶子节点数字之和 | 中等 |
130 | 被围绕的区域 | 中等 |
133 | 克隆图 | 中等 |
135 | 分发糖果 | 困难 |
136 | 只出现一次的数字 | 简单 |
139 | 单词拆分 | 中等 |
141 | 环形链表 | 简单 |
142 | 环形链表 II | 中等 |
147 | 对链表进行插入排序 | 中等 |
148 | 排序链表 | 中等 |
153 | 寻找旋转排序数组中的最小值 | 简单 |
154 | 寻找旋转排序数组中的最小值 II | 中等 |
155 | 最小栈 | 简单 |
164 | 最大间距 | 困难 |
167 | 两数之和 II - 输入有序数组 | 简单 |
174 | 地下城游戏 | 困难 |
188 | 买卖股票的最佳时机 IV | 困难 |
198 | 旋转数组 | 中等 |
198 | 打家劫舍 | 简单 |
201 | 数字范围按位与 | 中等 |
204 | 计数质数 | 简单 |
205 | 同构字符串 | 简单 |
206 | 反转链表 | 简单 |
207 | 课程表 | 中等 |
209 | 长度最小的子数组 | 中等 |
214 | 最短回文串 | 困难 |
215 | 数组中的第K个最大元素 | 中等 |
216 | 组合总和 III | 中等 |
217 | 存在重复元素 | 简单 |
222 | 完全二叉树的节点个数 | 中等 |
224 | 基本计算器 | 困难 |
227 | 基本计算器 II | 中等 |
228 | 汇总区间 | 简单 |
234 | 回文链表 | 简单 |
239 | 滑动窗口最大值 | 困难 |
242 | 有效的字母异位词 | 简单 |
257 | 二叉树的所有路径 | 简单 |
283 | 移动零 | 简单 |
389 | 找不同 | 简单 |
290 | 单词规律 | 简单 |
297 | 二叉树的序列化与反序列化 | 困难 |
303 | 区域和检索 - 数组不可变 | 简单 |
304 | 二维区域和检索 - 矩阵不可变 | 中等 |
309 | 最佳买卖股票时机含冷冻期 | 中等 |
312 | 戳气球 | 困难 |
315 | 计算右侧小于当前元素的个数 | 困难 |
316 | 去除重复字母 | 中等 |
321 | 拼接最大数 | 困难 |
327 | 区间和的个数 | 困难 |
328 | 奇偶链表 | 中等 |
329 | 矩阵中的最长递增路径 | 困难 |
330 | 按要求补齐数组 | 困难 |
332 | 重新安排行程 | 中等 |
336 | 回文对 | 困难 |
337 | 打家劫舍 III | 中等 |
338 | 比特位计数 | 中等 |
343 | 整数拆分 | 中等 |
347 | 前 K 个高频元素 | 中等 |
349 | 两个数组的交集 | 简单 |
350 | 两个数组的交集 II | 简单 |
376 | 摆动序列 | 中等 |
378 | 有序矩阵中第K小的元素 | 中等 |
381 | O(1) 时间插入、删除和获取随机元素 - 允许重复 | 困难 |
387 | 字符串中的第一个唯一字符 | 简单 |
392 | 判断子序列 | 简单 |
395 | 至少有 K 个重复字符的最长子串 | 中等 |
399 | 除法求值 | 中等 |
406 | 根据身高重建队列 | 中等 |
410 | 分割数组的最大值 | 困难 |
415 | 字符串相加 | 简单 |
424 | 替换后的最长重复字符 | 中等 |
435 | 无重叠区间 | 中等 |
445 | 两数相加 II | 中等 |
452 | 最少数量的箭引爆气球 | 中等 |
454 | 四数相加 II | 中等 |
455 | 分发饼干 | 简单 |
459 | 重复的子字符串 | 简单 |
463 | 岛屿的周长 | 简单 |
480 | 滑动窗口中位数 | 困难 |
485 | 最大连续1的个数 | 简单 |
486 | 递增子序列 | 中等 |
491 | 递增子序列 | 中等 |
493 | 翻转对 | 困难 |
509 | 斐波那契数 | 简单 |
529 | 扫雷游戏 | 中等 |
530 | 二叉搜索树的最小绝对差 | 简单 |
546 | 移除盒子 | 困难 |
547 | 省份数量 | 中等 |
557 | 反转字符串中的单词 III | 简单 |
567 | 字符串的排列 | 中等 |
605 | 种花问题 | 简单 |
621 | 任务调度器 | 中等 |
628 | 三个数的最大乘积 | 简单 |
632 | 最小区间 | 困难 |
643 | 子数组最大平均数 I | 简单 |
647 | 回文子串 | 中等 |
649 | Dota2 参议院 | 中等 |
657 | 机器人能否返回原点 | 简单 |
659 | 分割数组为连续子序列 | 中等 |
659 | 非递减数列 | 简单 |
674 | 最长连续递增序列 | 简单 |
679 | 24点游戏 | 困难 |
684 | 冗余连接 | 中等 |
696 | 计数二进制子串 | 简单 |
705 | 设计哈希集合 | 简单 |
714 | 买卖股票的最佳时机含手续费 | 中等 |
718 | 最长重复子数组 | 中等 |
721 | 账户合并 | 中等 |
724 | 账户合并 | 简单 |
738 | 单调递增的数字 | 中等 |
739 | 每日温度 | 中等 |
746 | 使用最小花费爬楼梯 | 简单 |
763 | 划分字母区间 | 简单 |
766 | 托普利茨矩阵 | 简单 |
767 | 重构字符串 | 中等 |
771 | 宝石与石头 | 简单 |
778 | 水位上升的泳池中游泳 | 困难 |
785 | 判断二分图 | 中等 |
803 | 打砖块 | 困难 |
830 | 较大分组的位置 | 简单 |
832 | 翻转图像 | 简单 |
839 | 相似字符串组 | 困难 |
841 | 钥匙和房间 | 中等 |
842 | 将数组拆分成斐波那契序列 | 中等 |
860 | 柠檬水找零 | 简单 |
861 | 翻转矩阵后的得分 | 中等 |
867 | 转置矩阵 | 简单 |
872 | 叶子相似的树 | 简单 |
888 | 公平的糖果棒交换 | 简单 |
896 | 单调数列 | 简单 |
922 | 按奇偶排序数组 II | 简单 |
941 | 有效的山脉数组 | 简单 |
947 | 移除最多的同行或同列石头 | 中等 |
959 | 由斜杠划分区域 | 中等 |
978 | 最长湍流子数组 | 中等 |
989 | 数组形式的整数加法 | 简单 |
992 | K 个不同整数的子数组 | 困难 |
1030 | 距离顺序排列矩阵单元格 | 中等 |
1014 | 最佳观光组合 | 中等 |
1018 | 整除的二进制前缀 | 简单 |
1025 | 除数博弈 | 中等 |
1028 | 从先序遍历还原二叉树 | 困难 |
1030 | 距离顺序排列矩阵单元格 | 简单 |
1046 | 最后一块石头的重量 | 简单 |
1047 | 删除字符串中的所有相邻重复项 | 简单 |
1054 | 爱生气的书店老板 | 中等 |
1108 | IP 地址无效化 | 简单 |
1114 | 按序打印 | 简单 |
1115 | 交替打印FooBar | 中等 |
1116 | 打印零与奇偶数 | 中等 |
1178 | 猜字谜 | 困难 |
1202 | 换字符串中的元素 | 中等 |
1203 | 项目管理 | 困难 |
1207 | 独一无二的出现次数 | 简单 |
1208 | 尽可能使字符串相等 | 中等 |
1232 | 缀点成线 | 简单 |
1269 | 停在原地的方案数 | 困难 |
1300 | 转变数组后最接近目标值的数组和 | 中等 |
1310 | 子数组异或查询 | 中等 |
1319 | 连通网络的操作次数 | 中等 |
1356 | 根据数字二进制下1的数目排序 | 简单 |
1365 | 有多少小于当前数字的数字 | 简单 |
1370 | 上升下降字符串 | 简单 |
1423 | 可获得的最大点数 | 中等 |
1489 | 转找到最小生成树里的关键边和伪关键边 | 困难 |
1494 | 转变数组后最接近目标值的数组和 | 困难 |
1579 | 保证图可完全遍历 | 困难 |
1584 | 连接所有点的最小费用 | 中等 |
1603 | 设计停车系统 | 简单 |
1631 | 最小体力消耗路径 | 中等 |
1720 | 解码异或后的数组 | 简单 |
1723 | 完成所有工作的最短时间 | 困难 |