|
|
|
# LeetCode题目分类与面试问题整理
|
|
|
|
|
|
|
|
## 题目分类
|
|
|
|
|
|
|
|
### Hash相关
|
|
|
|
|
|
|
|
* [q1_两数之和](/src/hash相关/q1_两数之和)
|
|
|
|
* [q387_字符串中的第一个唯一字符](/src/hash相关/q387_字符串中的第一个唯一字符)
|
|
|
|
|
|
|
|
### 链表操作
|
|
|
|
|
|
|
|
* [q2_两数相加](/src/链表操作/q2_两数相加)
|
|
|
|
* [q19_删除链表的倒数第N个节点](/src/链表操作/q19_删除链表的倒数第N个节点)
|
|
|
|
* [q25_k个一组翻转链表](/src/链表操作/q25_k个一组翻转链表)
|
|
|
|
* [q61_旋转链表](/src/链表操作/q61_旋转链表)
|
|
|
|
* [q138_复制带随机指针的链表](/src/链表操作/q138_复制带随机指针的链表)
|
|
|
|
* [q206_反转链表](/src/链表操作/q206_反转链表)
|
|
|
|
|
|
|
|
### 双指针遍历/滑动窗口
|
|
|
|
|
|
|
|
* [q3_无重复字符的最长子串](/src/双指针遍历/q3_无重复字符的最长子串)
|
|
|
|
* [q11_盛最多水的容器](/src/双指针遍历/q11_盛最多水的容器)
|
|
|
|
* [q15_三数之和](/src/双指针遍历/q15_三数之和)
|
|
|
|
* [q16_最接近的三数之和](/src/双指针遍历/q16_最接近的三数之和)
|
|
|
|
* [q26_删除排序数组中的重复项](/src/双指针遍历/q26_删除排序数组中的重复项)
|
|
|
|
* [q42_接雨水](/src/双指针遍历/q42_接雨水)
|
|
|
|
* [q121_买卖股票的最佳时机](/src/双指针遍历/q121_买卖股票的最佳时机)
|
|
|
|
* [q209_长度最小的子数组](/src/双指针遍历/q209_长度最小的子数组)
|
|
|
|
|
|
|
|
### 快慢指针遍历
|
|
|
|
|
|
|
|
* [q141_环形链表](/src/快慢指针遍历/q141_环形链表)
|
|
|
|
* [q202_快乐数](/src/快慢指针遍历/q202_快乐数)
|
|
|
|
* [q876_链表的中间结点](/src/快慢指针遍历/q876_链表的中间结点)
|
|
|
|
|
|
|
|
### 区间合并
|
|
|
|
|
|
|
|
* [q56_合并区间](/src/区间合并/q56_合并区间)
|
|
|
|
|
|
|
|
### 字符串操作
|
|
|
|
|
|
|
|
* [q6_Z字形变换](/src/字符串操作/q6_Z字形变换)
|
|
|
|
* [q14_最长公共前缀](/src/字符串操作/q14_最长公共前缀)
|
|
|
|
* [q763_划分字母区间](/src/字符串操作/q763_划分字母区间)
|
|
|
|
|
|
|
|
### 数字操作
|
|
|
|
|
|
|
|
* [q7_整数反转](/src/数字操作/q7_整数反转)
|
|
|
|
* [q8_字符串转换整数](/src/数字操作/q8_字符串转换整数)
|
|
|
|
* [q9_回文数](/src/数字操作/q9_回文数)
|
|
|
|
* [q43_字符串相乘](/src/数字操作/q43_字符串相乘)
|
|
|
|
* [q172_阶乘后的零](/src/数字操作/q172_阶乘后的零)
|
|
|
|
* [q258_各位相加](/src/数字操作/q258_各位相加)
|
|
|
|
|
|
|
|
### 数组操作
|
|
|
|
|
|
|
|
* [q54_螺旋矩阵](/src/数组操作/q54_螺旋矩阵)
|
|
|
|
* [q73_矩阵置零](/src/数组操作/q73_矩阵置零)
|
|
|
|
* [q78_子集](/src/数组操作/q78_子集)
|
|
|
|
* [q384_打乱数组](/src/数组操作/q384_打乱数组)
|
|
|
|
* [q581_最短无序连续子数组](/src/数组操作/q581_最短无序连续子数组)
|
|
|
|
* [q945_使数组唯一的最小增量](/src/数组操作/q945_使数组唯一的最小增量)
|
|
|
|
|
|
|
|
### 栈相关
|
|
|
|
|
|
|
|
* [q20_有效的括号](/src/栈相关/q20_有效的括号)
|
|
|
|
* [q32_最长有效括号](/src/栈相关/q32_最长有效括号)
|
|
|
|
* [q155_最小栈](/src/栈相关/q155_最小栈)
|
|
|
|
* [q224_基本计算器](/src/栈相关/q224_基本计算器)
|
|
|
|
* [q232_用栈实现队列](/src/栈相关/q232_用栈实现队列)
|
|
|
|
* [q316_去除重复字母](/src/栈相关/q316_去除重复字母)
|
|
|
|
|
|
|
|
### 堆相关
|
|
|
|
|
|
|
|
* [q215_数组中的第K个最大元素](/src/堆相关/q215_数组中的第K个最大元素)
|
|
|
|
* [q347_前K个高频元素](/src/堆相关/q347_前K个高频元素)
|
|
|
|
|
|
|
|
### 递归
|
|
|
|
|
|
|
|
* [q21_合并两个有序链表](/src/递归/q21_合并两个有序链表)
|
|
|
|
* [q101_对称二叉树](/src/递归/q101_对称二叉树)
|
|
|
|
* [q104_二叉树的最大深度](/src/递归/q104_二叉树的最大深度)
|
|
|
|
* [q226_翻转二叉树](/src/递归/q226_翻转二叉树)
|
|
|
|
* [q236_二叉树的最近公共祖先](/src/递归/q236_二叉树的最近公共祖先)
|
|
|
|
|
|
|
|
### 分治法/二分法
|
|
|
|
|
|
|
|
* [q23_合并K个排序链表](/src/分治法/q23_合并K个排序链表)
|
|
|
|
* [q33_搜索旋转排序数组](/src/分治法/q33_搜索旋转排序数组)
|
|
|
|
* [q34_在排序数组中查找元素的第一个和最后一个位置](/src/分治法/q34_在排序数组中查找元素的第一个和最后一个位置)
|
|
|
|
|
|
|
|
### 动态规划
|
|
|
|
|
|
|
|
* [q5_最长回文子串](/src/动态规划/q5_最长回文子串)
|
|
|
|
* [q53_最大子序和](/src/动态规划/q53_最大子序和)
|
|
|
|
* [q62_不同路径](/src/动态规划/q62_不同路径)
|
|
|
|
* [q64_最小路径和](/src/动态规划/q64_最小路径和)
|
|
|
|
* [q70_爬楼梯](/src/动态规划/q70_爬楼梯)
|
|
|
|
* [q118_杨辉三角](/src/动态规划/q118_杨辉三角)
|
|
|
|
* [q300_最长上升子序列](/src/动态规划/q300_最长上升子序列)
|
|
|
|
* [q1143_最长公共子序列](/src/动态规划/q1143_最长公共子序列)
|
|
|
|
* [q1277_统计全为1的正方形子矩阵](/src/动态规划/q1277_统计全为1的正方形子矩阵)
|
|
|
|
|
|
|
|
### 回溯法
|
|
|
|
|
|
|
|
* [q10_正则表达式匹配](/src/回溯法/q10_正则表达式匹配)
|
|
|
|
* [q22_括号生成](/src/回溯法/q22_括号生成)
|
|
|
|
* [q40_组合总和2](/src/回溯法/q40_组合总和2)
|
|
|
|
* [q46_全排列](/src/回溯法/q46_全排列)
|
|
|
|
|
|
|
|
### 树的遍历
|
|
|
|
|
|
|
|
* [q94_二叉树的中序遍历](/src/树的遍历/q94_二叉树的中序遍历)
|
|
|
|
* [q102_二叉树的层次遍历](/src/树的遍历/q102_二叉树的层次遍历)
|
|
|
|
* [q110_平衡二叉树](/src/树的遍历/q110_平衡二叉树)
|
|
|
|
* [q144_二叉树的前序遍历](/src/树的遍历/q144_二叉树的前序遍历)
|
|
|
|
* [q145_二叉树的后序遍历](/src/树的遍历/q145_二叉树的后序遍历)
|
|
|
|
|
|
|
|
### 二叉搜索树相关
|
|
|
|
|
|
|
|
* [q98_验证二叉搜索树](/src/二叉搜索树相关/q98_验证二叉搜索树)
|
|
|
|
* [q450_删除二叉搜索树中的节点](/src/二叉搜索树相关/q450_删除二叉搜索树中的节点)
|
|
|
|
* [q701_二叉搜索树中的插入操作](/src/二叉搜索树相关/q701_二叉搜索树中的插入操作)
|
|
|
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
## 面试问题整理
|
|
|
|
|
|
|
|
* [面试问题整理](/Rocket.md)
|