下表是本仓库所包含的题目,后续将会持续更新 ~
题号 | 难度 | 英文题目 | 中文题目 | 分类 | 思路 | 相关 |
---|---|---|---|---|---|---|
1 | Easy | Two Sum | 两数之和 | 数组 | 哈希映射 | 15, 18 |
2 | Medium | Add Two Numbers | 两数相加 | 链表 | 双指针 | |
3 | Medium | Longest Substring Without Repeating Characters | 无重复字符的最长子串 | 字符串 | 滑动窗口 哈希集合 哈希映射 |
|
4 | Hard | Median of Two Sorted Arrays | 寻找两个正序数组的中位数 | 数组 | 归并 二分查找 |
|
5 | Medium | Longest Palindromic Substring | 最长回文子串 | 字符串 | 动态规划 | 9 |
6 | Medium | ZigZag Conversion | Z 字形变换 | 字符串 | 找规律 | |
7 | Easy | Reverse Integer | 整数反转 | 数字 | 暴力模拟 | 9 |
8 | Medium | String to Integer (atoi) | 字符串转换整数 (atoi) | 字符串 | 暴力模拟 | |
9 | Easy | Palindrome Number | 回文数 | 数字 | 暴力模拟 | 5, 7 |
10 | Hard | Regular Expression Matching | 正则表达式匹配 | 字符串 | 递归 动态规划 |
44 |
11 | Medium | Container With Most Water | 盛最多水的容器 | 数组 | 左右指针 | 42 |
12 | Medium | Integer to Roman | 整数转罗马数字 | 数字 | 硬编码 贪心算法 |
13 |
13 | Easy | Roman to Integer | 罗马数字转整数 | 字符串 | 找规律 | 12 |
14 | Easy | Longest Common Prefix | 最长公共前缀 | 字符串 | 暴力模拟 | |
15 | Medium | 3Sum | 三数之和 | 数组 | 左右指针 | 1, 16, 18 |
16 | Medium | 3Sum Closest | 最接近的三数之和 | 数组 | 左右指针 | 11, 15 |
17 | Medium | Letter Combinations of a Phone Number | 电话号码的字母组合 | 字符串 | 回溯 | |
18 | Medium | 4Sum | 四数之和 | 数组 | 左右指针 | 1, 15 |
19 | Medium | Remove Nth Node From End of List | 删除链表的倒数第 N 个结点 | 链表 | 栈 快慢指针 |
|
20 | Easy | Valid Parentheses | 有效的括号 | 字符串 | 栈 | 32 |
21 | Easy | Merge Two Sorted Lists | 合并两个有序链表 | 链表 | 归并 | 23 |
22 | Medium | Generate Parentheses | 括号生成 | 字符串 | 回溯 | |
23 | Hard | Merge k Sorted Lists | 合并K个升序链表 | 链表 | 归并 优先队列 分治 |
21 |
24 | Medium | Swap Nodes in Pairs | 两两交换链表中的节点 | 链表 | 递归 迭代 |
25 |
25 | Hard | Reverse Nodes in k-Group | K 个一组翻转链表 | 链表 | 递归 迭代 |
24 |
26 | Easy | Remove Duplicates from Sorted Array | 删除有序数组中的重复项 | 数组 | 快慢指针 | 80 |
27 | Easy | Remove Element | 移除元素 | 数组 | 左右指针 | |
28 | Easy | Implement strStr() | 实现 strStr() | 字符串 | 暴力模拟 KMP |
|
29 | Medium | Divide Two Integers | 两数相除 | 数字 | 倍增 | 50 |
30 | Hard | Substring with Concatenation of All Words | 串联所有单词的子串 | 字符串 | 哈希映射 滑动窗口 |
|
31 | Medium | Next Permutation | 下一个排列 | 数组 | 背景规则 | |
32 | Hard | Longest Valid Parentheses | 最长有效括号 | 字符串 | 栈 双向遍历 动态规划 |
20 |
33 | Medium | Search in Rotated Sorted Array | 搜索旋转排序数组 | 数组 | 二分查找 | 81 |
34 | Medium | Find First and Last Position of Element in Sorted Array | 在排序数组中查找元素的第一个和最后一个位置 | 数组 | 二分查找 | |
35 | Easy | Search Insert Position | 搜索插入位置 | 数组 | 二分查找 | |
36 | Medium | Valid Sudoku | 有效的数独 | 数组 | 哈希映射 | 37 |
37 | Hard | Sudoku Solver | 解数独 | 数组 | 回溯 | 36 |
38 | Medium | Count and Say | 外观数列 | 字符串 | 迭代 | |
39 | Medium | Combination Sum | 组合总和 | 数组 | 回溯 | 40 |
40 | Medium | Combination Sum II | 组合总和 II | 数组 | 回溯 | 39 |
41 | Hard | First Missing Positive | 缺失的第一个正数 | 数组 | 原地哈希 | |
42 | Hard | Trapping Rain Water | 接雨水 | 数组 | 单调栈 左右指针 动态规划 |
11, 84 |
43 | Medium | Multiply Strings | 字符串相乘 | 字符串 | 暴力模拟 | |
44 | Hard | Wildcard Matching | 通配符匹配 | 字符串 | 贪心 动态规划 |
10 |
45 | Medium | Jump Game II | 跳跃游戏 II | 数组 | 贪心 动态规划 |
55 |
46 | Medium | Permutations | 全排列 | 数组 | 回溯 | 47 |
47 | Medium | Permutations II | 全排列 II | 数组 | 回溯 | 46 |
48 | Medium | Rotate Image | 旋转图像 | 数组 | 找规律 | |
49 | Medium | Group Anagrams | 字母异位词分组 | 数组 | 哈希映射 | |
50 | Medium | Pow(x, n) | Pow(x, n) | 数字 | 递归 迭代 倍增 |
29 |
51 | Hard | N-Queens | N 皇后 | 数组 | 回溯 | 52 |
52 | Hard | N-Queens II | N皇后 II | 数组 | 回溯 | 51 |
53 | Easy | Maximum Subarray | 最大子数组和 | 数组 | 动态规划 | |
54 | Medium | Spiral Matrix | 螺旋矩阵 | 数组 | 暴力模拟 | 59 |
55 | Medium | Jump Game | 跳跃游戏 | 数组 | 贪心 | 45 |
56 | Medium | Merge Intervals | 合并区间 | 数组 | 双指针 | 57 |
57 | Medium | Insert Interval | 插入区间 | 数组 | 暴力模拟 | 56 |
58 | Easy | Length of Last Word | 最后一个单词的长度 | 字符串 | 暴力模拟 | |
59 | Medium | Spiral Matrix II | 螺旋矩阵 II | 数组 | 暴力模拟 | 54 |
60 | Hard | Permutation Sequence | 排列序列 | 数字 | 数学方法 | |
61 | Medium | Rotate List | 旋转链表 | 链表 | 暴力模拟 | |
62 | Medium | Unique Paths | 不同路径 | 数组 | 动态规划 数学方法 |
63, 64 |
63 | Medium | Unique Paths II | 不同路径 II | 数组 | 动态规划 | 62 |
64 | Medium | Minimum Path Sum | 最小路径和 | 数组 | 动态规划 | 62 |
65 | Hard | Valid Number | 有效数字 | 数字 | 状态机 暴力模拟 |
|
66 | Easy | Plus One | 加一 | 数组 | 暴力模拟 | |
67 | Easy | Add Binary | 二进制求和 | 字符串 | 暴力模拟 | |
68 | Hard | Text Justification | 文本左右对齐 | 字符串 | 暴力模拟 | |
69 | Easy | Sqrt(x) | x 的平方根 | 数字 | 顺序查找 二分查找 |
|
70 | Easy | Climbing Stairs | 爬楼梯 | 数字 | 动态规划 | |
71 | Medium | Simplify Path | 简化路径 | 字符串 | 暴力模拟 | |
72 | Hard | Edit Distance | 编辑距离 | 字符串 | 动态规划 | |
73 | Medium | Set Matrix Zeroes | 矩阵置零 | 数组 | 暴力模拟 | |
74 | Medium | Search a 2D Matrix | 搜索二维矩阵 | 数组 | 二分查找 | 79 |
75 | Medium | Sort Colors | 颜色分类 | 数组 | 暴力模拟 | |
76 | Hard | Minimum Window Substring | 最小覆盖子串 | 字符串 | 哈希映射 滑动窗口 |
|
77 | Medium | Combinations | 组合 | 数组 | 回溯 | |
78 | Medium | Subsets | 子集 | 数组 | 回溯 | |
79 | Medium | Word Search | 单词搜索 | 数组 | 回溯 | 74 |
80 | Medium | Remove Duplicates from Sorted Array II | 删除有序数组中的重复项 II | 数组 | 快慢指针 | 26 |
81 | Medium | Search in Rotated Sorted Array II | 搜索旋转排序数组 II | 数组 | 二分查找 | 33 |
82 | Medium | Remove Duplicates from Sorted List II | 删除排序链表中的重复元素 II | 链表 | 快慢指针 | 26, 83 |
83 | Easy | Remove Duplicates from Sorted List | 删除排序链表中的重复元素 | 链表 | 快慢指针 | 82 |
84 | Hard | Largest Rectangle in Histogram | 柱状图中最大的矩形 | 数组 | 单调栈 | 42, 85 |
85 | Hard | Maximal Rectangle | 最大矩形 | 数组 | 单调栈 | 84 |
86 | Medium | Partition List | 分隔链表 | 链表 | 暴力模拟 | |
87 | Hard | Scramble String | 扰乱字符串 | 字符串 | 动态规划 | |
94 | Easy | Binary Tree Inorder Traversal | 二叉树的中序遍历 | 二叉树 | 递归 | |
96 | Medium | Unique Binary Search Trees | 不同的二叉搜索树 | 二叉搜索树 | 递归 | |
98 | Medium | Validate Binary Search Tree | 验证二叉搜索树 | 二叉树 | 递归 | |
101 | Easy | Symmetric Tree | 对称二叉树 | 二叉树 | 递归 | |
102 | Medium | Binary Tree Level Order Traversal | 二叉树的层序遍历 | 二叉树 | 广度优先搜索 | |
104 | Easy | Maximum Depth of Binary Tree | 二叉树的最大深度 | 二叉树 | 递归 | |
105 | Medium | Construct Binary Tree from Preorder and Inorder Traversal | 从前序与中序遍历序列构造二叉树 | 二叉树 | 递归 | |
111 | Easy | Minimum Depth of Binary Tree | 二叉树的最小深度 | 二叉树 | 深度优先搜索 广度优先搜索 |
|
114 | Medium | Flatten Binary Tree to Linked List | 二叉树展开为链表 | 二叉树 | 递归 | |
121 | Easy | Best Time to Buy and Sell Stock | 买卖股票的最佳时机 | 数组 | 预处理 逆过程 |
|
124 | Hard | Binary Tree Maximum Path Sum | 二叉树中的最大路径和 | 二叉树 | 递归 | 543 |
127 | Hard | Word Ladder | 单词接龙 | 字符串 | 广度优先搜索 | 752 |
128 | Medium | Longest Consecutive Sequence | 最长连续序列 | 数组 | 哈希 | |
130 | Medium | Surrounded Regions | 被围绕的区域 | 数组 | 深度优先搜索 广度优先搜索 |
200 |
136 | Easy | Single Number | 只出现一次的数字 | 数组 | 位运算 | |
139 | Medium | Word Break | 单词拆分 | 字符串 | 哈希 动态规划 |
|
141 | Easy | Linked List Cycle | 环形链表 | 链表 | 快慢指针 | |
142 | Medium | Linked List Cycle II | 环形链表 II | 链表 | 快慢指针 | |
148 | Medium | Sort List | 排序链表 | 链表 | 归并排序 | |
152 | Medium | Maximum Product Subarray | 乘积最大子数组 | 数组 | 动态规划 | |
160 | Easy | Intersection of Two Linked Lists | 相交链表 | 链表 | 数学 | |
169 | Easy | Majority Element | 多数元素 | 数组 | 模拟 | |
198 | Medium | House Robber | 打家劫舍 | 数组 | 动态规划 | |
199 | Medium | Binary Tree Right Side View | 二叉树的右视图 | 二叉树 | 广度优先搜索 | |
200 | Medium | Number of Islands | 岛屿数量 | 数组 | 深度优先搜索 广度优先搜索 并查集 |
130, 695, 1254 |
206 | Easy | Reverse Linked List | 反转链表 | 链表 | 迭代 | |
215 | Medium | Kth Largest Element in an Array | 数组中的第K个最大元素 | 数组 | 堆 | 347 |
221 | Medium | Maximal Square | 最大正方形 | 数组 | 动态规划 | |
226 | Easy | Invert Binary Tree | 翻转二叉树 | 二叉树 | 递归 | |
234 | Easy | Palindrome Linked List | 回文链表 | 链表 | 转换 | |
236 | Medium | Lowest Common Ancestor of a Binary Tree | 二叉树的最近公共祖先 | 二叉树 | 递归 | |
238 | Medium | Product of Array Except Self | 除自身以外数组的乘积 | 数组 | 前缀和 | |
239 | Hard | Sliding Window Maximum | 滑动窗口最大值 | 数组 | 单调队列 | |
240 | Medium | Search a 2D Matrix II | 搜索二维矩阵 II | 数组 | 二分查找 | |
279 | Medium | Perfect Squares | 完全平方数 | 数字 | 动态规划 | |
283 | Easy | Move Zeroes | 移动零 | 数组 | 快慢指针 | |
297 | Hard | Serialize and Deserialize Binary Tree | 二叉树的序列化与反序列化 | 二叉树 | 递归 | |
300 | Medium | Longest Increasing Subsequence | 最长递增子序列 | 数组 | 动态规划 | 516, 1143 |
303 | Easy | Range Sum Query - Immutable | 区域和检索 - 数组不可变 | 数组 | 前缀和 | 304 |
304 | Medium | Range Sum Query 2D - Immutable | 二维区域和检索 - 矩阵不可变 | 数组 | 前缀和 | 303 |
337 | Medium | House Robber III | 打家劫舍 III | 二叉树 | 递归 动态规划 |
|
338 | Easy | Counting Bits | 比特位计数 | 数字 | 位运算 | 461 |
347 | Medium | Top K Frequent Elements | 前 K 个高频元素 | 数组 | 堆 | 215 |
376 | Medium | Wiggle Subsequence | 摆动序列 | 数组 | 贪心算法 | |
394 | Medium | Decode String | 字符串解码 | 字符串 | 栈 | |
416 | Medium | Partition Equal Subset Sum | 分割等和子集 | 数组 | 转换 深度优先搜索 动态规划 |
494 |
435 | Medium | Non-overlapping Intervals | 无重叠区间 | 数组 | 贪心算法 | |
437 | Medium | Path Sum III | 路径总和 III | 二叉树 | 递归 | |
438 | Medium | Find All Anagrams in a String | 找到字符串中所有字母异位词 | 字符串 | 滑动窗口 | |
448 | Easy | Find All Numbers Disappeared in an Array | 找到所有数组中消失的数字 | 数组 | 哈希 原地哈希 |
|
461 | Easy | Hamming Distance | 汉明距离 | 数字 | 位运算 | 338 |
494 | Medium | Target Sum | 目标和 | 数组 | 深度优先搜索 转换 动态规划 |
416 |
496 | Easy | Next Greater Element I | 下一个更大元素 I | 数组 | 单调栈 | 503 |
503 | Medium | Next Greater Element II | 下一个更大元素 II | 数组 | 单调栈 | 496 |
516 | Medium | Longest Palindromic Subsequence | 最长回文子序列 | 字符串 | 动态规划 | 300, 1143 |
538 | Medium | Convert BST to Greater Tree | 把二叉搜索树转换为累加树 | 二叉搜索树 | 递归 | |
543 | Easy | Diameter of Binary Tree | 二叉树的直径 | 二叉树 | 递归 | 124 |
560 | Medium | Subarray Sum Equals K | 和为 K 的子数组 | 数组 | 前缀和 哈希 |
|
581 | Medium | Shortest Unsorted Continuous Subarray | 最短无序连续子数组 | 数组 | 排序 模拟 |
|
617 | Easy | Merge Two Binary Trees | 合并二叉树 | 二叉树 | 递归 | |
621 | Medium | Task Scheduler | 任务调度器 | 数组 | 数学 | |
647 | Medium | Palindromic Substrings | 回文子串 | 字符串 | 暴力搜索 | |
695 | Medium | Max Area of Island | 岛屿的最大面积 | 数组 | 深度优先搜索 广度优先搜索 |
200 |
738 | Medium | Monotone Increasing Digits | 单调递增的数字 | 数组 | 贪心算法 | |
739 | Medium | Daily Temperatures | 每日温度 | 数组 | 单调栈 | |
752 | Medium | Open the Lock | 打开转盘锁 | 字符串 | 广度优先搜索 | 773, 127 |
773 | Hard | Sliding Puzzle | 滑动谜题 | 数组 | 广度优先搜索 | 752 |
763 | Medium | Partition Labels | 划分字母区间 | 字符串 | 贪心算法 | |
875 | Medium | Koko Eating Bananas | 爱吃香蕉的珂珂 | 数组 | 二分查找 | 1011 |
887 | Hard | Super Egg Drop | 鸡蛋掉落 | 数字 | 动态规划 | |
1011 | Medium | Capacity To Ship Packages Within D Days | 在 D 天内送达包裹的能力 | 数组 | 二分查找 | 875 |
1094 | Medium | Car Pooling | 拼车 | 数组 | 差分数组 | |
1109 | Medium | Corporate Flight Bookings | 航班预订统计 | 数组 | 差分数组 | |
1143 | Medium | Longest Common Subsequence | 最长公共子序列 | 字符串 | 动态规划 | 300, 516 |
1254 | Medium | Number of Closed Islands | 统计封闭岛屿的数目 | 数组 | 深度优先搜索 广度优先搜索 |
200 |
1893 | Easy | Check if All the Integers in a Range Are Covered | 检查是否区域内所有整数都被覆盖 | 数组 | 差分数组 | |
2406 | Medium | Divide Intervals Into Minimum Number of Groups | 将区间分为最少组数 | 数组 | 贪心 差分数组 |
|
2536 | Medium | Increment Submatrices by One | 子矩阵元素加 1 | 数组 | 差分数组 |
题号 | 难度 | 题目 | 分类 | 思路 | 相关 |
---|---|---|---|---|---|
03 | 简单 | 数组中重复的数字 | 数组 | 哈希集合 | |
04 | 中等 | 二维数组中的查找 | 数组 | 二分查找 | leetcode240 |
05 | 简单 | 替换空格 | 字符串 | 正则 | |
07 | 中等 | 重建二叉树 | 二叉树 | 递归 | leetcode105 leetcode106 |
12 | 中等 | 矩阵中的路径 | 数组 | 回溯 | leetcode79 |
13 | 中等 | 机器人的运动范围 | 数组 | 深度优先搜索 | |
14 | 中等 | 剪绳子 | 数字 | 动态规划 | |
16 | 中等 | 数值的整数次方 | 数字 | 快速幂 | |
20 | 中等 | 表示数值的字符串 | 字符串 | 模拟 | leetcode65 |
26 | 中等 | 树的子结构 | 二叉树 | 递归 | |
31 | 中等 | 栈的压入、弹出序列 | 数组 | 模拟 | |
32 | 中等 | 从上到下打印二叉树 | 二叉树 | 宽度优先搜索 | leetcode102 |
34 | 中等 | 二叉树中和为某一值的路径 | 二叉树 | 回溯 | leetcode113 |
35 | 中等 | 复杂链表的复制 | 链表 | 哈希映射 | leetcode138 |
36 | 中等 | 二叉搜索树与双向链表 | 二叉树 | 递归 | leetcode114 leetcode426 |
38 | 中等 | 字符串的排列 | 字符串 | 回溯 | leetcode46 leetcode47 |
44 | 中等 | 数字序列中某一位的数字 | 数字 | 数学 | leetcode400 |
45 | 中等 | 把数组排成最小的数 | 数组 | 排序 | |
46 | 中等 | 把数字翻译成字符串 | 数字 | 深度优先搜索 动态规划 |
|
47 | 中等 | 礼物的最大价值 | 数组 | 动态规划 | |
48 | 中等 | 最长不含重复字符的子字符串 | 字符串 | 滑动窗口 | leetcode3 |
49 | 中等 | 丑数 | 数字 | 动态规划 | leetcode264 |
56 | 中等 | 数组中数字出现的次数 | 数组 | 位运算 | leetcode136 leetcode137 leetcode260 |
60 | 中等 | n个骰子的点数 | 数字 | 动态规划 | |
63 | 中等 | 股票的最大利润 | 数组 | 预处理 | leetcode121 |
64 | 中等 | 求1+2+…+n | 数字 | 递归 | |
66 | 中等 | 构建乘积数组 | 数组 | 预处理 | |
67 | 中等 | 把字符串转换成整数 | 字符串 | 暴力模拟 | leetcode8 |