| 类别 | 分类 | 题目名称 | 难度 |
|
算法相关 | 双指针 |
| 167.有序数组TwoSum | E |
|
633.两数平方和 | E |
| |||
345.反转字符串中的元音字母 | E |
| |||
680.回文字符串 | E |
| |||
88.归并两个有序数组 | E |
| |||
141.判断链表是否存在环 | E |
| |||
524.最长子序列 | E |
| |||
排序 | 快速选择/堆 | 215.Ktn Element | M |
| |
桶排序 | 347.出现频率最多的K个元素 | M |
| ||
451.按照字符串出现顺序对字符串排序 | M |
| |||
荷兰国旗问题 | 75.Sort Colors | M |
| ||
贪心思想 |
| 455.分配饼干 | E |
| |
| 435.不重叠的区间个数 | M |
| ||
| 452.投飞镖刺破气球 | M |
| ||
| 406.根据身高和序号重组队列 | M |
| ||
| 121.买最大股票的收益 | E |
| ||
| 122.买股票最大收益2 | E |
| ||
| 605.种植花朵 | E |
| ||
| 392.判断是否为子序列 | M |
| ||
| 655.修改一个数字成为非递减数组 | E |
| ||
| 53.子数组最大的和 | E |
| ||
| 763.分隔字符串使同种字符串出现在一起 | M |
| ||
二分查找 |
| 69.求开方 | E |
| |
| 744.大于给定元素的最小元素 | E |
| ||
| 540.有序数组的singleElement | M |
| ||
| 278.第一个错误的版本 | E |
| ||
| 153.旋转数组的最小数字 | M |
| ||
| 34.查找区间 | M |
| ||
分治 |
| 241.给表达式加括号 | M |
| |
| 95.不同的二叉搜索树 | M |
| ||
搜索 | BFS | 1091.计算在网格中从原点到特定点的最短路径 | M |
| |
279.组成整数的最小平方数数量 | M |
| |||
127.最短单词路径 | M |
| |||
DFS | 695.查找最大的连通面积 | M |
| ||
200.矩阵中连通分量数目 | M |
| |||
547.好友关系的连通数分量数目 | M |
| |||
130.填充封闭区域 | M |
| |||
417.能到达太平洋和大西洋的区域 | M |
| |||
Backtracking回溯 | 17.数字键盘组合 | M |
| ||
93.IP地址划分 | M |
| |||
79.在矩阵中查找字符串 | M |
| |||
257.输出二叉树中所有根节点到叶子的路径 | E |
| |||
46.排列 | M |
| |||
47.含有相同元素求排列 | M |
| |||
77.组合 | M |
| |||
39.组合求和 | M |
| |||
40.含有相同元素的组合求和 | M |
| |||
216.1-9数字的组合求和 | M |
| |||
78.子集 | M |
| |||
90.含相同元素求子集 | M |
| |||
131.分割字符串使每个部分都是回文数 | M |
| |||
37.数独 | H |
| |||
51.N皇后 | H |
| |||
动态规划 | 斐波那契 | 70.爬楼梯 | E |
| |
198.强盗抢劫 | E |
| |||
213.强盗在环形街道抢劫 | M |
| |||
矩阵路径 | 64.矩阵的最小路径和 | M |
| ||
62.矩阵的总路径数 | M |
| |||
数组区间 | 303.数组区间和 | E |
| ||
413.数组中等差递增子区间的个数 | M |
| |||
分割整数 | 343.分割整数的最大乘积 | M |
| ||
279.按照平方数来分割整数 | M |
| |||
91.分割整数构成的字母字符串 | M |
| |||
最长递归子序列 | 300.最长递增子序列 | M |
| ||
646.一组整数对能构成最长的链 | M |
| |||
376.最长摆动子序列 | M |
| |||
最长公共子序列 | 1143.最长公共子序列 | M |
| ||
0-1背包 | 416.划分数组为和相等的两部分 | M |
| ||
494.改变一组数的正负号使得他们的和为一个给定数 | M |
| |||
474.01字符构成最多的字符串 | M |
| |||
322.找零钱的最小硬币数 | M |
| |||
518.找零钱的硬币组合 | M |
| |||
139.字符串按单词列表分割 | M |
| |||
377.组合总和 | M |
| |||
股票交易 | 309.需要冷却期的股票交易 | M |
| ||
714.需要交易费用的股票交易 | M |
| |||
123.只能进行两次股票交易 | H |
| |||
188.只能进行K次的股票交易 | H |
| |||
字符串编辑 | 583.删除两个字符串的字符使他们相等 | M |
| ||
72.编辑距离 | H |
| |||
650.复制粘贴字符 | M |
| |||
数学 | 素数分解 | 204.生成素数序列 | M |
| |
最大公约数和最小公倍数 | 204.生成素数序列 | M |
| ||
进制转换 | 504.7进制 | E |
| ||
405.16进制 | E |
| |||
168.26进制 | E |
| |||
阶乘 | 172.统计阶乘尾部有多少个0 | E |
| ||
字符串加减法 | 67.二进制加减法 | E |
| ||
415.字符串加法 | E |
| |||
相遇问题 | 462.改变数组元素使所有数组元素都相等 | M |
| ||
多数投票问题 | 169.数组中出现次数多与n/2的元素 | E |
| ||
其他 | 367.平方数 | E |
| ||
326.3的n次方 | E |
| |||
238.乘积数组 | M |
| |||
628.找出数组中乘积最大的3个数 | E |
| |||
数据结构 | 链表 |
| 160.找出两个链表的交点 | E |
|
| 206.链表反转 | E |
| ||
| 21.归并两个有序链表 | E |
| ||
| 83.从有序链表中删除重复节点 | E |
| ||
| 19.删除链表中倒数第N个节点 | M |
| ||
| 24.交换链表中的相邻节点 | M |
| ||
| 455.链表求和 | M |
| ||
| 234.回文链表 | E |
| ||
| 725.分隔链表 | M |
| ||
| 328.链表元素按奇偶聚集 | M |
| ||
树 | 递归 | 104.树的高度 | E |
| |
110.平衡术 | E |
| |||
543.两个节点最长路径 | E |
| |||
226.翻转树 | E |
| |||
617.归并两个树 | E |
| |||
112.判断路径和是否等于一个数 | E |
| |||
437.统计路径和等于一个数的路径量 | E |
| |||
572.子树 | E |
| |||
101.树的对称 | E |
| |||
111.最小路径 | E |
| |||
404.统计左叶子节点的和 | E |
| |||
687.相同节点值的最大路径长度 | E |
| |||
337.间隔遍历 | M |
| |||
671.找出二叉树中第二小的节点 | E |
| |||
层次遍历 | 637.一棵树,每层节点的平均数 | E |
| ||
513.得到左下角的节点 | E |
| |||
前序中序后序遍历 | 144.非递归实现二叉树的前序遍历 | M |
| ||
145.非递归实现二叉树的前序遍历 | M |
| |||
94.非递归实现二叉树的前序遍历 | M |
| |||
BST二叉查找树 | 669.修剪二叉查找树 | E |
| ||
230.寻找二叉查找树的第K个元素 | M |
| |||
235.二叉查找树的最近公共祖先 | E |
| |||
236.二叉树的最近公共祖先 | M |
| |||
108.从有序数组中构造二叉查找树 | E |
| |||
109.根据有序链表构造平衡的二叉树 | M |
| |||
653.二叉查找树,找到两个节点等于一个给定值 | E |
| |||
530.二叉查找树中查找两节点之差的最小绝对值 | E |
| |||
501.寻找二叉查找树中出现次数最多的值 | E |
| |||
Trie前缀树,字典树 | 201.实现一个Trie | M |
| ||
677.实现一个Trie,求前缀和 | M |
| |||
栈和队列 |
| 232.用栈实现队列 | E |
| |
| 225.用队列实现栈 | E |
| ||
| 155.最小值栈 | E |
| ||
| 20.用栈实现括号匹配 | E |
| ||
| 739.数组中元素与下一个比它大的元素的距离 | M |
| ||
| 503.循环数组中比当前元素大的下一个元素 | M |
| ||
哈希表 |
| 1.数组中两个数的和为给定值 | E |
| |
| 217.判断数组是否有重复元素 | E |
| ||
| 594.最长和谐序列 | E |
| ||
| 128.最长连续序列 | H |
| ||
字符串 |
| 242.两个字符串包含的字符是否完全相同 | E |
| |
| 409.计算一组字符串集合可以组成回文字符串的最大长度 | E |
| ||
| 205.字符串同构 | E |
| ||
| 647.回文字符串的个数 | M |
| ||
| 9.判断一个整数是否是一个回文数 | E |
| ||
| 696.统计二进制字符串中,连续1和连续0数量相同的子字符串个数 | E |
| ||
数组和矩阵 |
| 283.把数组中0移到末尾 | E |
| |
| 566.改变矩阵维度 | E |
| ||
| 485.找出数组中最长的连续1 | E |
| ||
| 240.有序矩阵查找 | M |
| ||
| 378.有序矩阵的Kth Element | M |
| ||
| 645.一个数组[1,n]之间,其中一个数被替换成另一个数,找出重复的数和丢失的数 | E |
| ||
| 287.找出数组中重复的数,数组值在[1,n]之间 | M |
| ||
| 667.数组相邻差值的个数 | M |
| ||
| 697.数组的度 | E |
| ||
| 766.对角元素相等的矩阵 | E |
| ||
| 565.嵌套矩阵 | M |
| ||
| 769.分隔数组 | M |
| ||
图 | 二分图 | 785.判断是否为二分图 | M |
| |
拓扑排序 | 207.课程安排的合法性 | M |
| ||
210.课程安排的顺序 | M |
| |||
并查集 | 684.冗余连接 | M |
| ||
位运算 |
| 461.统计两个数的二进制有多少位不同 | E |
| |
| 136.数组中唯一不重复的元素 | E |
| ||
| 268.找出数组中缺失的那个值 | E |
| ||
| 260.数组中不重复的两个元素 | M |
| ||
| 190.翻转一个数的比特位 | E |
| ||
| 231.判断一个数是不是2的n次方 | E |
| ||
| 342.判断一个数是不是4的n次方 | E |
| ||
| 693.判断一个数的位级表示是否不会出现连续1或0 | E |
| ||
| 476.求一个数的补码 | E |
| ||
| 371.实现整数的加法 | E |
| ||
| 318.字符串数组最大乘积 | M |
| ||
| 338.统计0~n每个数的二进制表示中的1的个数 | M |
|