# LeetCode 高频面试题分类列表,总共24类,312道题目
# 图
- [ ] 133.克隆图 (opens new window)
- [ ] 207.课程表 (opens new window)
- [ ] 210.课程表 II (opens new window)
- [ ] 399.除法求值 (opens new window)
- [ ] 547.省份数量 (opens new window)
- [ ] 684.冗余连接 (opens new window)
- [ ] 743.网络延迟时间 (opens new window)
- [ ] 785.判断二分图 (opens new window)
# 堆
- [ ] 215.数组中的第K个最大元素 (opens new window)
- [ ] 295.数据流的中位数 (opens new window)
- [ ] 264.丑数 II (opens new window)
- [ ] 347.前 K 个高频元素 (opens new window)
- [ ] 378.有序矩阵中第 K 小的元素 (opens new window)
- [ ] 703.数据流中的第 K 大元素 (opens new window)
- [ ] 767.重构字符串 (opens new window)
- [ ] 剑指 Offer 41.数据流中的中位数 (opens new window)
# 栈
- [ ] 20.有效的括号 (opens new window)
- [ ] 71.简化路径 (opens new window)
- [ ] 84.柱状图中最大的矩形 (opens new window)
- [ ] 85.最大矩形 (opens new window)
- [ ] 155.最小栈 (opens new window)
- [ ] 224.基本计算器 (opens new window)
- [ ] 227.基本计算器 II (opens new window)
- [ ] 394.字符串解码 (opens new window)
- [ ] 402.移掉 K 位数字 (opens new window)
- [ ] 503.下一个更大元素 II (opens new window)
- [ ] 739.每日温度 (opens new window)
- [ ] 1047.删除字符串中的所有相邻重复项 (opens new window)
- [ ] 剑指 Offer 06.从尾到头打印链表 (opens new window)
- [ ] 剑指 Offer 30.包含min函数的栈 (opens new window)
- [ ] 剑指 Offer 31.栈的压入、弹出序列 (opens new window)
# 队列
- [ ] 225.用队列实现栈 (opens new window)
- [ ] 232.用栈实现队列 (opens new window)
- [ ] 239.滑动窗口最大值 (opens new window)
- [ ] 387.字符串中的第一个唯一字符 (opens new window)
- [ ] 622.设计循环队列 (opens new window)
- [ ] 862.和至少为 K 的最短子数组 (opens new window)
- [ ] 933.最近的请求次数 (opens new window)
- [ ] 剑指 Offer 09.用两个栈实现队列 (opens new window)
- [ ] 剑指 Offer 59 - I.滑动窗口的最大值 (opens new window)
- [ ] 剑指 Offer 59 - II.队列的最大值 (opens new window)
# 链表
- [ ] 2.两数相加 (opens new window)
- [ ] 25.K 个一组翻转链表 (opens new window)
- [ ] 82.删除排序链表中的重复元素 II (opens new window)
- [ ] 83.删除排序链表中的重复元素 (opens new window)
- [ ] 86.分隔链表 (opens new window)
- [ ] 92.反转链表 II (opens new window)
- [ ] 138.复制带随机指针的链表 (opens new window)
- [ ] 143.重排链表 (opens new window)
- [ ] 160.相交链表 (opens new window)
- [ ] 328.奇偶链表 (opens new window)
- [ ] 445.两数相加 II (opens new window)
- [ ] 876.链表的中间结点 (opens new window)
- [ ] 剑指 Offer 22.链表中倒数第k个节点 (opens new window)
- [ ] 剑指 Offer 24.反转链表 (opens new window)
- [ ] 剑指 Offer 52.两个链表的第一个公共节点 (opens new window)
# 数组
- [ ] 1.两数之和 (opens new window)
- [ ] 31.下一个排列 (opens new window)
- [ ] 33.搜索旋转排序数组 (opens new window)
- [ ] 41.缺失的第一个正数 (opens new window)
- [ ] 56.合并区间 (opens new window)
- [ ] 162.寻找峰值 (opens new window)
- [ ] 189.轮转数组 (opens new window)
- [ ] 560.和为 K 的子数组 (opens new window)
- [ ] 695.岛屿的最大面积 (opens new window)
- [ ] 剑指 Offer 66.构建乘积数组 (opens new window)
# 矩阵
- [ ] 36.有效的数独 (opens new window)
- [ ] 37.解数独 (opens new window)
- [ ] 48.旋转图像 (opens new window)
- [ ] 54.螺旋矩阵 (opens new window)
- [ ] 59.螺旋矩阵 II (opens new window)
- [ ] 73.矩阵置零 (opens new window)
- [ ] 74.搜索二维矩阵 (opens new window)
- [ ] 240.搜索二维矩阵 II (opens new window)
- [ ] 733.图像渲染 (opens new window)
- [ ] 剑指 Offer 04.二维数组中的查找 (opens new window)
- [ ] 剑指 Offer 29.顺时针打印矩阵 (opens new window)
# 字符串
- [ ] 6.Z 字形变换 (opens new window)
- [ ] 12.整数转罗马数字 (opens new window)
- [ ] 14.最长公共前缀 (opens new window)
- [ ] 28.实现 strStr() (opens new window)
- [ ] 58.最后一个单词的长度 (opens new window)
- [ ] 115.不同的子序列 (opens new window)
- [ ] 151.颠倒字符串中的单词 (opens new window)
- [ ] 344.反转字符串 (opens new window)
- [ ] 443.压缩字符串 (opens new window)
- [ ] 459.重复的子字符串 (opens new window)
- [ ] 556.下一个更大元素 III (opens new window)
- [ ] 557.反转字符串中的单词 III (opens new window)
- [ ] 647.回文子串 (opens new window)
- [ ] 678.有效的括号字符串 (opens new window)
- [ ] 680.验证回文字符串 Ⅱ (opens new window)
- [ ] 剑指 Offer 05.替换空格 (opens new window)
- [ ] 剑指 Offer 20.表示数值的字符串 (opens new window)
- [ ] 剑指 Offer 67.把字符串转换成整数 (opens new window)
# 哈希表
- [ ] 49.字母异位词分组 (opens new window)
- [ ] 202.快乐数 (opens new window)
- [ ] 204.计数质数 (opens new window)
- [ ] 692.前K个高频单词 (opens new window)
- [ ] 706.设计哈希映射 (opens new window)
- [ ] 895.最大频率栈 (opens new window)
- [ ] 974.和可被 K 整除的子数组 (opens new window)
- [ ] 1044.最长重复子串 (opens new window)
- [ ] 剑指 Offer 03.数组中重复的数字 (opens new window)
- [ ] 剑指 Offer 35.复杂链表的复制 (opens new window)
- [ ] 面试题50.第一个只出现一次的字符 (opens new window)
# 二叉树
- [ ] 94.二叉树的中序遍历 (opens new window)
- [ ] 100.相同的树 (opens new window)
- [ ] 108.将有序数组转换为二叉搜索树 (opens new window)
- [ ] 116.填充每个节点的下一个右侧节点指针 (opens new window)
- [ ] 117.填充每个节点的下一个右侧节点指针 II (opens new window)
- [ ] 144.二叉树的前序遍历 (opens new window)
- [ ] 144.二叉树的前序遍历 (opens new window)
- [ ] 222.完全二叉树的节点个数 (opens new window)
- [ ] 226.翻转二叉树 (opens new window)
- [ ] 236.二叉树的最近公共祖先 (opens new window)
- [ ] 297.二叉树的序列化与反序列化 (opens new window)
- [ ] 404.左叶子之和 (opens new window)
- [ ] 450.删除二叉搜索树中的节点 (opens new window)
- [ ] 501.二叉搜索树中的众数 (opens new window)
- [ ] 508.出现次数最多的子树元素和 (opens new window)
- [ ] 530.二叉搜索树的最小绝对差 (opens new window)
- [ ] 538.把二叉搜索树转换为累加树 (opens new window)
- [ ] 543.二叉树的直径 (opens new window)
- [ ] 617.合并二叉树 (opens new window)
- [ ] 637.二叉树的层平均值 (opens new window)
- [ ] 654.最大二叉树 (opens new window)
- [ ] 662.二叉树最大宽度 (opens new window)
- [ ] 669.修剪二叉搜索树 (opens new window)
- [ ] 700.二叉搜索树中的搜索 (opens new window)
- [ ] 701.二叉搜索树中的插入操作 (opens new window)
- [ ] 889.根据前序和后序遍历构造二叉树 (opens new window)
- [ ] 958.二叉树的完全性检验 (opens new window)
- [ ] 剑指 Offer 27.二叉树的镜像 (opens new window)
- [ ] 剑指 Offer 54.二叉搜索树的第k大节点 (opens new window)
- [ ] 剑指 Offer 68 - I.二叉搜索树的最近公共祖先 (opens new window)
- [ ] 剑指 Offer 68 - II.二叉树的最近公共祖先 (opens new window)
# 广度优先搜索
- [ ] 102.二叉树的层序遍历 (opens new window)
- [ ] 103.二叉树的锯齿形层序遍历 (opens new window)
- [ ] 107.二叉树的层序遍历 II (opens new window)
- [ ] 111.二叉树的最小深度 (opens new window)
- [ ] 310.最小高度树 (opens new window)
- [ ] 513.找树左下角的值 (opens new window)
- [ ] 剑指 Offer 32 - II.从上到下打印二叉树 II (opens new window)
- [ ] 剑指 Offer 32 - III.从上到下打印二叉树 III (opens new window)
- [ ] 剑指 Offer 37.序列化二叉树 (opens new window)
# 深度优先搜索
- [ ] 99.恢复二叉搜索树 (opens new window)
- [ ] 101.对称二叉树 (opens new window)
- [ ] 105.从前序与中序遍历序列构造二叉树 (opens new window)
- [ ] 106.从中序与后序遍历序列构造二叉树 (opens new window)
- [ ] 109.有序链表转换二叉搜索树 (opens new window)
- [ ] 114.二叉树展开为链表 (opens new window)
- [ ] 257.二叉树的所有路径 (opens new window)
- [ ] 301.删除无效的括号 (opens new window)
- [ ] 剑指 Offer 12.矩阵中的路径 (opens new window)
- [ ] 剑指 Offer 17.打印从1到最大的n位数 (opens new window)
- [ ] 剑指 Offer 34.二叉树中和为某一值的路径 (opens new window)
- [ ] 剑指 Offer 55 - I.二叉树的深度 (opens new window)
- [ ] 剑指 Offer 55 - II.平衡二叉树 (opens new window)
# 滑动窗口
- [ ] 3.无重复字符的最长子串 (opens new window)
- [ ] 187.重复的DNA序列 (opens new window)
- [ ] 219.存在重复元素 II (opens new window)
- [ ] 220.存在重复元素 III (opens new window)
- [ ] 1004.最大连续1的个数 III (opens new window)
- [ ] 剑指 Offer 48.最长不含重复字符的子字符串 (opens new window)
- [ ] 剑指 Offer 57 - II.和为s的连续正数序列 (opens new window)
- [ ] 剑指 Offer 58 - I.翻转单词顺序 (opens new window)
# 动态规划
- [ ] 5.最长回文子串 (opens new window)
- [ ] 32.最长有效括号 (opens new window)
- [ ] 62.不同路径 (opens new window)
- [ ] 63.不同路径 II (opens new window)
- [ ] 64.最小路径和 (opens new window)
- [ ] 70.爬楼梯 (opens new window)
- [ ] 72.编辑距离 (opens new window)
- [ ] 91.解码方法 (opens new window)
- [ ] 96.不同的二叉搜索树 (opens new window)
- [ ] 97.交错字符串 (opens new window)
- [ ] 120.三角形最小路径和 (opens new window)
- [ ] 121.买卖股票的最佳时机 (opens new window)
- [ ] 122.买卖股票的最佳时机 II (opens new window)
- [ ] 123.买卖股票的最佳时机 III (opens new window)
- [ ] 139.单词拆分 (opens new window)
- [ ] 152.乘积最大子数组 (opens new window)
- [ ] 198.打家劫舍 (opens new window)
- [ ] 213.打家劫舍 II (opens new window)
- [ ] 221.最大正方形 (opens new window)
- [ ] 279.完全平方数 (opens new window)
- [ ] 300.最长递增子序列 (opens new window)
- [ ] 322.零钱兑换 (opens new window)
- [ ] 337.打家劫舍 III (opens new window)
- [ ] 343.整数拆分 (opens new window)
- [ ] 410.分割数组的最大值 (opens new window)
- [ ] 494.目标和 (opens new window)
- [ ] 516.最长回文子序列 (opens new window)
- [ ] 518.零钱兑换 II (opens new window)
- [ ] 673.最长递增子序列的个数 (opens new window)
- [ ] 718.最长重复子数组 (opens new window)
- [ ] 1143.最长公共子序列 (opens new window)
- [ ] 剑指 Offer 14- I.剪绳子 (opens new window)
- [ ] 剑指 Offer 14- II.剪绳子 II (opens new window)
- [ ] 剑指 Offer 46.把数字翻译成字符串 (opens new window)
- [ ] 剑指 Offer 47.礼物的最大价值 (opens new window)
- [ ] 剑指 Offer 49.丑数 (opens new window)
- [ ] 剑指 Offer 60.n个骰子的点数 (opens new window)
- [ ] 剑指 Offer 63.股票的最大利润 (opens new window)
# 二分查找
- [ ] 4.寻找两个正序数组的中位数 (opens new window)
- [ ] 33.搜索旋转排序数组 (opens new window)
- [ ] 34.在排序数组中查找元素的第一个和最后一个位置 (opens new window)
- [ ] 50.Pow(x, n) (opens new window)
- [ ] 69.x 的平方根 (opens new window)
- [ ] 153.寻找旋转排序数组中的最小值 (opens new window)
- [ ] 162.寻找峰值 (opens new window)
- [ ] 230.二叉搜索树中第K小的元素 (opens new window)
- [ ] 287.寻找重复数 (opens new window)
- [ ] 349.两个数组的交集 (opens new window)
- [ ] 704.二分查找 (opens new window)
- [ ] 剑指 Offer 11.旋转数组的最小数字 (opens new window)
- [ ] 剑指 Offer 53 - I.在排序数组中查找数字 I (opens new window)
- [ ] 剑指 Offer 53 - II.0~n-1中缺失的数字 (opens new window)
# 双指针
- [ ] 3.无重复字符的最长子串 (opens new window)
- [ ] 11.盛最多水的容器 (opens new window)
- [ ] 15.三数之和 (opens new window)
- [ ] 19.删除链表的倒数第 N 个结点 (opens new window)
- [ ] 26.删除有序数组中的重复项 (opens new window)
- [ ] 42.接雨水 (opens new window)
- [ ] 61.旋转链表 (opens new window)
- [ ] 75.颜色分类 (opens new window)
- [ ] 76.最小覆盖子串 (opens new window)
- [ ] 88.合并两个有序数组 (opens new window)
- [ ] 125.验证回文串 (opens new window)
- [ ] 141.环形链表 (opens new window)
- [ ] 142.环形链表 II (opens new window)
- [ ] 209.长度最小的子数组 (opens new window)
- [ ] 234.回文链表 (opens new window)
- [ ] 283.移动零 (opens new window)
- [ ] 剑指 Offer 04.二维数组中的查找 (opens new window)
- [ ] 剑指 Offer 18.删除链表的节点 (opens new window)
- [ ] 剑指 Offer 21.调整数组顺序使奇数位于偶数前面 (opens new window)
- [ ] 剑指 Offer 22.链表中倒数第k个节点 (opens new window)
- [ ] 剑指 Offer 58 - I.翻转单词顺序 (opens new window)
# 并查集
# 位运算
- [ ] 136.只出现一次的数字 (opens new window)
- [ ] 137.只出现一次的数字 II (opens new window)
- [ ] 191.位1的个数 (opens new window)
- [ ] 231.2 的幂 (opens new window)
- [ ] 260.只出现一次的数字 III (opens new window)
- [ ] 268.丢失的数字 (opens new window)
- [ ] 405.数字转换为十六进制数 (opens new window)
- [ ] 剑指 Offer 15.二进制中1的个数 (opens new window)
- [ ] 剑指 Offer 56 - I.数组中数字出现的次数 (opens new window)
- [ ] 剑指 Offer 56 - II.数组中数字出现的次数 II (opens new window)
- [ ] 剑指 Offer 65.不用加减乘除做加法 (opens new window)
# 分治
- [ ] 23.合并K个升序链表 (opens new window)
- [ ] 53.最大子数组和 (opens new window)
- [ ] 169.多数元素 (opens new window)
- [ ] 剑指 Offer 42.连续子数组的最大和 (opens new window)
- [ ] 剑指 Offer 36.二叉搜索树与双向链表 (opens new window)
- [ ] 剑指 Offer 39.数组中出现次数超过一半的数字 (opens new window)
# 回溯
- [ ] 10.正则表达式匹配 (opens new window)
- [ ] 17.电话号码的字母组合 (opens new window)
- [ ] 22.括号生成 (opens new window)
- [ ] 39.组合总和 (opens new window)
- [ ] 40.组合总和 II (opens new window)
- [ ] 46.全排列 (opens new window)
- [ ] 47.全排列 II (opens new window)
- [ ] 51.N 皇后 (opens new window)
- [ ] 60.排列序列 (opens new window)
- [ ] 77.组合 (opens new window)
- [ ] 78.子集 (opens new window)
- [ ] 79.单词搜索 (opens new window)
- [ ] 89.格雷编码 (opens new window)
- [ ] 93.复原 IP 地址 (opens new window)
- [ ] 140.单词拆分 II (opens new window)
- [ ] 306.累加数 (opens new window)
- [ ] 剑指 Offer 13.机器人的运动范围 (opens new window)
- [ ] 剑指 Offer 38.字符串的排列 (opens new window)
# 贪心
- [ ] 44.通配符匹配 (opens new window)
- [ ] 45.跳跃游戏 II (opens new window)
- [ ] 55.跳跃游戏 (opens new window)
- [ ] 134.加油站 (opens new window)
- [ ] 135.分发糖果 (opens new window)
- [ ] 316.去除重复字母 (opens new window)
- [ ] 763.划分字母区间 (opens new window)
# 排序
- [ ] 148.排序链表 (opens new window)
- [ ] 164.最大间距 (opens new window)
- [ ] 179.最大数 (opens new window)
- [ ] 242.有效的字母异位词 (opens new window)
- [ ] 315.计算右侧小于当前元素的个数 (opens new window)
- [ ] 剑指 Offer 40.最小的k个数 (opens new window)
- [ ] 剑指 Offer 45.把数组排成最小的数 (opens new window)
- [ ] 剑指 Offer 51.数组中的逆序对 (opens new window)
- [ ] 剑指 Offer 61.扑克牌中的顺子 (opens new window)
# 递归
- [ ] 2.两数相加 (opens new window)
- [ ] 21.合并两个有序链表 (opens new window)
- [ ] 24.两两交换链表中的节点 (opens new window)
- [ ] 98.验证二叉搜索树 (opens new window)
- [ ] 104.二叉树的最大深度 (opens new window)
- [ ] 110.平衡二叉树 (opens new window)
- [ ] 124.二叉树中的最大路径和 (opens new window)
- [ ] 199.二叉树的右视图 (opens new window)
- [ ] 剑指 Offer 07.重建二叉树 (opens new window)
- [ ] 剑指 Offer 10- I.斐波那契数列 (opens new window)
- [ ] 剑指 Offer 10- II.青蛙跳台阶问题 (opens new window)
- [ ] 剑指 Offer 26.树的子结构 (opens new window)
- [ ] 剑指 Offer 28.对称的二叉树 (opens new window)
- [ ] 剑指 Offer 64.求1+2+…+n (opens new window)
# 数学
- [ ] 7.整数反转 (opens new window)
- [ ] 8.字符串转换整数 (atoi) (opens new window)
- [ ] 9.回文数 (opens new window)
- [ ] 43.字符串相乘 (opens new window)
- [ ] 166.分数到小数 (opens new window)
- [ ] 168.Excel表列名称 (opens new window)
- [ ] 171.Excel 表列序号 (opens new window)
- [ ] 400.第 N 位数字 (opens new window)
- [ ] 670.最大交换 (opens new window)
- [ ] 剑指 Offer 16.数值的整数次方 (opens new window)
- [ ] 剑指 Offer 43.1~n 整数中 1 出现的次数 (opens new window)
- [ ] 剑指 Offer 44.数字序列中某一位的数字 (opens new window)
- [ ] 剑指 Offer 62.圆圈中最后剩下的数字 (opens new window)
原文链接:https://mp.weixin.qq.com/s/IKmCWwH1LjJ-FrcbbOtj3w (opens new window)