diff --git a/README.md b/README.md index 5c052e0..1382a71 100644 --- a/README.md +++ b/README.md @@ -1,129 +1,129 @@ -# LeetCode题目分类与面试问题整理 +# LeetCode Topics and Interview Questions Collection -## 题目分类 +## Subject Category -### Hash相关 +### Hash -* [q1_两数之和](/src/hash相关/q1_两数之和) -* [q387_字符串中的第一个唯一字符](/src/hash相关/q387_字符串中的第一个唯一字符) +- [Question 1 : Sum of two numbers](/src/hash相关/q1_两数之和) +- [Question 387 : The first unique character in the string](/src/hash相关/q387_字符串中的第一个唯一字符) -### 链表操作 +### Linked List Operations -* [q2_两数相加](/src/链表操作/q2_两数相加) -* [q19_删除链表的倒数第N个节点](/src/链表操作/q19_删除链表的倒数第N个节点) -* [q25_k个一组翻转链表](/src/链表操作/q25_k个一组翻转链表) -* [q61_旋转链表](/src/链表操作/q61_旋转链表) -* [q138_复制带随机指针的链表](/src/链表操作/q138_复制带随机指针的链表) -* [q206_反转链表](/src/链表操作/q206_反转链表) +- [Question 2 : Add two numbers](/src/链表操作/q2_两数相加) +- [Question 19 : Delete the Nth node from the bottom of the linked list](/src/链表操作/q19_删除链表的倒数第N个节点) +- [Question 25 : K set of flipped linked lists](/src/链表操作/q25_k个一组翻转链表) +- [Question 61 : Rotating linked list](/src/链表操作/q61_旋转链表) +- [Question 138 : Copy linked list with random pointer](/src/链表操作/q138_复制带随机指针的链表) +- [Question 206 : Reverse linked list](/src/链表操作/q206_反转链表) -### 双指针遍历/滑动窗口 +### Double Pointer Traversal / Sliding Window -* [q3_无重复字符的最长子串](/src/双指针遍历/q3_无重复字符的最长子串) -* [q11_盛最多水的容器](/src/双指针遍历/q11_盛最多水的容器) -* [q15_三数之和](/src/双指针遍历/q15_三数之和) -* [q16_最接近的三数之和](/src/双指针遍历/q16_最接近的三数之和) -* [q26_删除排序数组中的重复项](/src/双指针遍历/q26_删除排序数组中的重复项) -* [q42_接雨水](/src/双指针遍历/q42_接雨水) -* [q121_买卖股票的最佳时机](/src/双指针遍历/q121_买卖股票的最佳时机) -* [q209_长度最小的子数组](/src/双指针遍历/q209_长度最小的子数组) +- [Question 3 : Longest substring without repeated characters](/src/双指针遍历/q3_无重复字符的最长子串) +- [Question 11 : Container with the most water](/src/双指针遍历/q11_盛最多水的容器) +- [Question 15 : Sum of three numbers](/src/双指针遍历/q15_三数之和) +- [Question 16 : Closest sum of three numbers](/src/双指针遍历/q16_最接近的三数之和) +- [Question 26 : Delete duplicates in the sorted array](/src/双指针遍历/q26_删除排序数组中的重复项) +- [Question 42 : Trapping-rain-water](/src/双指针遍历/q42_接雨水) +- [Question 121 : The best time to buy and sell stocks](/src/双指针遍历/q121_买卖股票的最佳时机) +- [Question 209 : The smallest length sub-array](/src/双指针遍历/q209_长度最小的子数组) -### 快慢指针遍历 +### Fast and Slow Pointer Traversal -* [q141_环形链表](/src/快慢指针遍历/q141_环形链表) -* [q202_快乐数](/src/快慢指针遍历/q202_快乐数) -* [q876_链表的中间结点](/src/快慢指针遍历/q876_链表的中间结点) +- [Question 141 : Circular linked list](/src/快慢指针遍历/q141_环形链表) +- [Question 202 : Happy number](/src/快慢指针遍历/q202_快乐数) +- [Question 876 : Intermediate node of linked list](/src/快慢指针遍历/q876_链表的中间结点) -### 区间合并 +### Interval Merge -* [q56_合并区间](/src/区间合并/q56_合并区间) +- [Question 56 : Merge interval](/src/区间合并/q56_合并区间) -### 字符串操作 +### String Manipulation -* [q6_Z字形变换](/src/字符串操作/q6_Z字形变换) -* [q14_最长公共前缀](/src/字符串操作/q14_最长公共前缀) -* [q763_划分字母区间](/src/字符串操作/q763_划分字母区间) +- [Question 6 : Zigzag transformation](/src/字符串操作/q6_Z字形变换) +- [Question 14 : Longest common prefix](/src/字符串操作/q14_最长公共前缀) +- [Question 763 : Dividing letter interval](/src/字符串操作/q763_划分字母区间) -### 数字操作 +### Digital Operations -* [q7_整数反转](/src/数字操作/q7_整数反转) -* [q8_字符串转换整数](/src/数字操作/q8_字符串转换整数) -* [q9_回文数](/src/数字操作/q9_回文数) -* [q43_字符串相乘](/src/数字操作/q43_字符串相乘) -* [q172_阶乘后的零](/src/数字操作/q172_阶乘后的零) -* [q258_各位相加](/src/数字操作/q258_各位相加) +- [Question 7 : Integer inversion](/src/数字操作/q7_整数反转) +- [Question 8 : String conversion integer](/src/数字操作/q8_字符串转换整数) +- [Question 9 : Palindrome Number](/src/数字操作/q9_回文数) +- [Question 43 : String multiplication](/src/数字操作/q43_字符串相乘) +- [Question 172 : Zero after factorial](/src/数字操作/q172_阶乘后的零) +- [Question 258 : Add everybody](/src/数字操作/q258_各位相加) -### 数组操作 +### Array Operations -* [q54_螺旋矩阵](/src/数组操作/q54_螺旋矩阵) -* [q73_矩阵置零](/src/数组操作/q73_矩阵置零) -* [q78_子集](/src/数组操作/q78_子集) -* [q384_打乱数组](/src/数组操作/q384_打乱数组) -* [q581_最短无序连续子数组](/src/数组操作/q581_最短无序连续子数组) -* [q945_使数组唯一的最小增量](/src/数组操作/q945_使数组唯一的最小增量) +- [Question 54 : Spiral matrix](/src/数组操作/q54_螺旋矩阵) +- [Question 73 : Zero Matrix](/src/数组操作/q73_矩阵置零) +- [Question 78 : Subset](/src/数组操作/q78_子集) +- [Question 384 : Scrambling array](/src/数组操作/q384_打乱数组) +- [Question 581 : Shortest unordered continuous subarray](/src/数组操作/q581_最短无序连续子数组) +- [Question 945 : Minimum increment to make the array unique](/src/数组操作/q945_使数组唯一的最小增量) -### 栈相关 +### Stack -* [q20_有效的括号](/src/栈相关/q20_有效的括号) -* [q32_最长有效括号](/src/栈相关/q32_最长有效括号) -* [q155_最小栈](/src/栈相关/q155_最小栈) -* [q224_基本计算器](/src/栈相关/q224_基本计算器) -* [q232_用栈实现队列](/src/栈相关/q232_用栈实现队列) -* [q316_去除重复字母](/src/栈相关/q316_去除重复字母) +- [Question 20 : Valid brackets](/src/栈相关/q20_有效的括号) +- [Question 32 : Longest valid bracket](/src/栈相关/q32_最长有效括号) +- [Question 155 : Minimal stack](/src/栈相关/q155_最小栈) +- [Question 224 : Basic calculator](/src/栈相关/q224_基本计算器) +- [Question 232 : Implement queue with stack](/src/栈相关/q232_用栈实现队列) +- [Question 316 : Remove duplicate letters](/src/栈相关/q316_去除重复字母) -### 堆相关 +### Heap -* [q215_数组中的第K个最大元素](/src/堆相关/q215_数组中的第K个最大元素) -* [q347_前K个高频元素](/src/堆相关/q347_前K个高频元素) +- [Question 215 : The Kth largest element in the array](/src/堆相关/q215_数组中的第K个最大元素) +- [Question 347 : Top K high frequency elements](/src/堆相关/q347_前K个高频元素) -### 递归 +### Recursion -* [q21_合并两个有序链表](/src/递归/q21_合并两个有序链表) -* [q101_对称二叉树](/src/递归/q101_对称二叉树) -* [q104_二叉树的最大深度](/src/递归/q104_二叉树的最大深度) -* [q226_翻转二叉树](/src/递归/q226_翻转二叉树) -* [q236_二叉树的最近公共祖先](/src/递归/q236_二叉树的最近公共祖先) +- [Question 21 : Merge two ordered linked lists](/src/递归/q21_合并两个有序链表) +- [Question 101 : Symmetric binary tree](/src/递归/q101_对称二叉树) +- [Question 104 : Maximum Depth of Binary Tree](/src/递归/q104_二叉树的最大深度) +- [Question 226 : Flip binary tree](/src/递归/q226_翻转二叉树) +- [Question 236 : The nearest common ancestor of the binary tree](/src/递归/q236_二叉树的最近公共祖先) -### 分治法/二分法 +### Divide and Conquer / Dichotomy -* [q23_合并K个排序链表](/src/分治法/q23_合并K个排序链表) -* [q33_搜索旋转排序数组](/src/分治法/q33_搜索旋转排序数组) -* [q34_在排序数组中查找元素的第一个和最后一个位置](/src/分治法/q34_在排序数组中查找元素的第一个和最后一个位置) +- [Question 23 : Merge K sorted lists](/src/分治法/q23_合并K个排序链表) +- [Question 33 : Search rotating sorted array](/src/分治法/q33_搜索旋转排序数组) +- [Question 34 : Find the first and last position of an element in the sorted array](/src/分治法/q34_在排序数组中查找元素的第一个和最后一个位置) -### 动态规划 +### Dynamic Programming -* [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的正方形子矩阵) +- [Question 5 : Longest palindrome substring](/src/动态规划/q5_最长回文子串) +- [Question 53 : Maximum Subsequence Sum](/src/动态规划/q53_最大子序和) +- [Question 62 : Different path](/src/动态规划/q62_不同路径) +- [Question 64 : Minimum path sum](/src/动态规划/q64_最小路径和) +- [Question 70 : Stair climbing](/src/动态规划/q70_爬楼梯) +- [Question 118 : Pascal's Triangle](/src/动态规划/q118_杨辉三角) +- [Question 300 : Longest Ascending Subsequence](/src/动态规划/q300_最长上升子序列) +- [Question 1143 : Longest common subsequence](/src/动态规划/q1143_最长公共子序列) +- [Question 1277 : Square submatrix with all 1s](/src/动态规划/q1277_统计全为1的正方形子矩阵) -### 回溯法 +### Backtracking -* [q10_正则表达式匹配](/src/回溯法/q10_正则表达式匹配) -* [q22_括号生成](/src/回溯法/q22_括号生成) -* [q40_组合总和2](/src/回溯法/q40_组合总和2) -* [q46_全排列](/src/回溯法/q46_全排列) +- [Question 10 : Regular expression matching](/src/回溯法/q10_正则表达式匹配) +- [Question 22 : Bracket generation](/src/回溯法/q22_括号生成) +- [Question 40 : Combined sum 2](/src/回溯法/q40_组合总和2) +- [Question 46 : All permutation](/src/回溯法/q46_全排列) -### 树的遍历 +### Tree Traversal -* [q94_二叉树的中序遍历](/src/树的遍历/q94_二叉树的中序遍历) -* [q102_二叉树的层次遍历](/src/树的遍历/q102_二叉树的层次遍历) -* [q110_平衡二叉树](/src/树的遍历/q110_平衡二叉树) -* [q144_二叉树的前序遍历](/src/树的遍历/q144_二叉树的前序遍历) -* [q145_二叉树的后序遍历](/src/树的遍历/q145_二叉树的后序遍历) +- [Question 94 : In-order traversal of binary tree](/src/树的遍历/q94_二叉树的中序遍历) +- [Question 102 : Binary tree traversal](/src/树的遍历/q102_二叉树的层次遍历) +- [Question 110 : Balanced binary tree](/src/树的遍历/q110_平衡二叉树) +- [Question 144 : Preorder traversal of binary tree](/src/树的遍历/q144_二叉树的前序遍历) +- [Question 145 : Post-order traversal of binary tree](/src/树的遍历/q145_二叉树的后序遍历) -### 二叉搜索树相关 +### Binary Search Trees -* [q98_验证二叉搜索树](/src/二叉搜索树相关/q98_验证二叉搜索树) -* [q450_删除二叉搜索树中的节点](/src/二叉搜索树相关/q450_删除二叉搜索树中的节点) -* [q701_二叉搜索树中的插入操作](/src/二叉搜索树相关/q701_二叉搜索树中的插入操作) +- [Question 98 : Verify Binary Search Tree](/src/二叉搜索树相关/q98_验证二叉搜索树) +- [Question 450 : Delete nodes in binary search tree](/src/二叉搜索树相关/q450_删除二叉搜索树中的节点) +- [Question 701 : Insert operation in binary search tree](/src/二叉搜索树相关/q701_二叉搜索树中的插入操作) -------- +--- -## 面试问题整理 +## Interview questions finishing -* [面试问题整理](/Rocket.md) \ No newline at end of file +- [Interview Questions Finishing](/Rocket.md)