一、数组类(Array)
- 两数之和(Two Sum)
- 三数之和(3Sum)
- 四数之和(4Sum)
- 盛最多水的容器(Container With Most Water)
- 移动零(Move Zeroes)
- 旋转数组(Rotate Array)
- 合并区间(Merge Intervals)
- 插入区间(Insert Interval)
- 最长连续序列(Longest Consecutive Sequence)
- 寻找旋转排序数组中的最小值(Find Minimum in Rotated Sorted Array)
- 搜索旋转排序数组(Search in Rotated Sorted Array)
- 螺旋矩阵(Spiral Matrix)
- 矩阵置零(Set Matrix Zeroes)
- 除自身以外数组的乘积(Product of Array Except Self)
- 颜色分类(Sort Colors)
二、字符串类(String)
- 反转字符串(Reverse String)
- 反转字符串中的单词(Reverse Words in a String)
- 最长回文子串(Longest Palindromic Substring)
- 回文子串(Palindromic Substrings)
- 最长公共前缀(Longest Common Prefix)
- 有效的字母异位词(Valid Anagram)
- 字母异位词分组(Group Anagrams)
- 无重复字符的最长子串(Longest Substring Without Repeating Characters)
- 重复的子字符串(Repeated Substring Pattern)
- 字符串相乘(Multiply Strings)
- 字符串相加(Add Strings)
- 实现 strStr()(Implement strStr)
- 外观数列(Count and Say)
- Z 字形变换(Zigzag Conversion)
- 有效的括号(Valid Parentheses)
三、链表类(Linked List)
- 反转链表(Reverse Linked List)
- 两两交换链表中的节点(Swap Nodes in Pairs)
- 合并两个有序链表(Merge Two Sorted Lists)
- 合并 K 个排序链表(Merge k Sorted Lists)
- 删除链表的倒数第 N 个节点(Remove Nth Node From End of List)
- 环形链表(Linked List Cycle)
- 环形链表 II(Linked List Cycle II)
- 相交链表(Intersection of Two Linked Lists)
- 复制带随机指针的链表(Copy List with Random Pointer)
- 排序链表(Sort List)
- 回文链表(Palindrome Linked List)
四、二叉树类(Binary Tree)
- 二叉树的前序遍历(Binary Tree Preorder Traversal)
- 二叉树的中序遍历(Binary Tree Inorder Traversal)
- 二叉树的后序遍历(Binary Tree Postorder Traversal)
- 二叉树的层序遍历(Binary Tree Level Order Traversal)
- 翻转二叉树(Invert Binary Tree)
- 对称二叉树(Symmetric Tree)
- 路径总和(Path Sum)
- 二叉树的最大深度(Maximum Depth of Binary Tree)
- 二叉树的最小深度(Minimum Depth of Binary Tree)
- 二叉树的直径(Diameter of Binary Tree)
- 二叉树的最近公共祖先(Lowest Common Ancestor of a Binary Tree)
- 从前序与中序遍历序列构造二叉树(Construct Binary Tree from Preorder and Inorder Traversal)
- 二叉搜索树的验证(Validate Binary Search Tree)
- 二叉搜索树的第 K 小元素(Kth Smallest Element in a BST)
五、图类(Graph)
- 岛屿数量(Number of Islands)
- 克隆图(Clone Graph)
- 课程表(Course Schedule)
- 课程表 II(Course Schedule II)
- 最小生成树(Kruskal / Prim)
- 单源最短路径(Dijkstra)
- 全源最短路径(Floyd-Warshall)
- 拓扑排序(Topological Sort)
- 被围绕的区域(Surrounded Regions)
- 太平洋大西洋水流问题(Pacific Atlantic Water Flow)
六、动态规划(DP)
- 爬楼梯(Climbing Stairs)
- 打家劫舍(House Robber)
- 打家劫舍 II(House Robber II)
- 最大子序和(Maximum Subarray)
- 最长递增子序列(Longest Increasing Subsequence)
- 最长公共子序列(Longest Common Subsequence)
- 编辑距离(Edit Distance)
- 不同路径(Unique Paths)
- 不同路径 II(Unique Paths II)
- 最小路径和(Minimum Path Sum)
- 零钱兑换(Coin Change)
- 零钱兑换 II(Coin Change II)
- 分割等和子集(Partition Equal Subset Sum)
- 买卖股票的最佳时机(Best Time to Buy and Sell Stock)
- 买卖股票的最佳时机 II(Best Time to Buy and Sell Stock II)
七、数学与其他
- 两数相加(Add Two Numbers)
- 整数反转(Reverse Integer)
- 回文数(Palindrome Number)
- 罗马数字转整数(Roman to Integer)
- 整数转罗马数字(Integer to Roman)
- 最大公约数与最小公倍数(GCD & LCM)
- Pow(x, n)(实现幂函数)
- Sqrt(x)(实现平方根)
- 位运算的常见题型(异或、与、或)
- 只出现一次的数字(Single Number)
- 只出现一次的数字 II(Single Number II)
✅ 总结
这份清单基本覆盖了LeetCode 高频面试算法题,从数组、字符串、链表、树、图到动态规划、数学都有涉及。
建议你复习时:
- 先刷数组、字符串、链表→ 高频且容易上手。
- 再攻克树、图、动态规划→ 面试加分项。
- 末了补充数学与位运算→ 提升算法思维。
浙公网安备 33010602011771号