题目归档
参考代码地址:https://github.com/csujedihy/lc-all-solutions、参考题解地址:https://zhuanlan.zhihu.com/leetcode1024
编号 | 题名 | 题解 | 难度 | 更新状态 |
---|---|---|---|---|
1 | 两数之和 | 哈希表 | 简单 | ✅ |
2 | 两数相加 | 链表 | 中等 | ✅ |
3 | 无重复字符的最长子串 | 哈希表 | 中等 | ✅ |
4 | 寻找两个有序数组的中位数 | 二分查找 | 困难 | |
5 | 最长回文子串 | 动态规划 | 中等 | ✅ |
6 | Z 字形变换 | 字符串 | 中等 | ✅ |
7 | 整数反转 | 数学 | 简单 | ✅ |
8 | 字符串转换整数 | 字符串 | 中等 | ✅ |
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 | 相同的树 | 深度优先搜索 | 简单 | ✅ |