题目列表

可按标题、OJ、标签和启发记录快速筛选题目解析。

共 100 题
标题OJ题号标签难度最后更新原题
同步遍历两链表和进位,节点值写 sum % 10,末尾保留 carry。
leetcodecnadd-two-numbers
链表数学递归cpppython
普及+/提高2026-07-28 22:05打开
左根右;递归或显式栈模拟递归。
leetcodecnbinary-tree-inorder-traversal
二叉树递归cpppython
入门2026-07-28 22:05打开
哈希表映射旧节点到新节点,第二遍补 next/random 引用。
leetcodecncopy-list-with-random-pointer
链表哈希表cpppython
普及+/提高2026-07-28 22:05打开
后序返回高度,经过当前点的候选为 left+right,全局取最大。
leetcodecndiameter-of-binary-tree
二叉树递归树形DPcpppython
入门2026-07-28 22:05打开
固定长度滑动窗口维护 26 维字母计数,窗口进出各一次,O(n)。
leetcodecnfind-all-anagrams-in-a-string
哈希表字符串滑动窗口cpppython
普及+/提高2026-07-28 22:05打开
把值 x 放到下标 x-1,最后第一个 a[i] != i+1 即答案,O(n) 时间 O(1) 空间。
leetcodecnfirst-missing-positive
数组哈希表cpppython
提高+/省选-2026-07-28 22:05打开
双指针分别走 A+B 和 B+A,长度差被抵消后在交点或 nullptr 相遇。
leetcodecnintersection-of-two-linked-lists
链表双指针哈希表cpppython
入门2026-07-28 22:05打开
后序/前序递归交换左右子树。
leetcodecninvert-binary-tree
二叉树递归cpppython
入门2026-07-28 22:05打开
Floyd 判环后,从头和相遇点各走一步,第二次相遇即入环点。
leetcodecnlinked-list-cycle-ii
链表双指针哈希表cpppython
普及+/提高2026-07-28 22:05打开
Floyd 快慢指针,slow 走一步 fast 走两步,相遇则有环。
leetcodecnlinked-list-cycle
链表双指针哈希表cpppython
入门2026-07-28 22:05打开
滑动窗口记录字符上次出现位置,左指针直接跳到重复字符后,O(n)。
leetcodecnlongest-substring-without-repeating-characters
哈希表字符串滑动窗口cpppython
普及+/提高2026-07-28 22:05打开
哈希表 O(1) 找节点,双向链表按最近使用顺序维护,头为新、尾为旧。
leetcodecnlru-cache
设计哈希表链表cpppython
普及+/提高2026-07-28 22:05打开
1 + max(left, right) 递归。
leetcodecnmaximum-depth-of-binary-tree
二叉树递归BFScpppython
入门2026-07-28 22:05打开
Kadane 算法:以 i 结尾的最大和 = max(a[i], dp[i-1] + a[i]),滚动 O(1) 空间。
leetcodecnmaximum-subarray
数组动态规划分治cpppython
普及+/提高2026-07-28 22:05打开
按左端点排序,遍历时维护当前合并区间,相交则扩右端,否则输出并重开。
leetcodecnmerge-intervals
数组排序cpppython
普及+/提高2026-07-28 22:05打开
小根堆维护每条链当前头节点,每次弹出后推进,O(N log K)。
leetcodecnmerge-k-sorted-lists
链表分治cpppython
提高+/省选-2026-07-28 22:05打开
dummy 头结点,每次接入较小节点,最后接剩余链。
leetcodecnmerge-two-sorted-lists
链表递归cpppython
入门2026-07-28 22:05打开
滑动窗口维护 need/have 计数,右端扩张满足需求,左端收缩到刚好不满足,O(n)。
leetcodecnminimum-window-substring
哈希表字符串滑动窗口cpppython
提高+/省选-2026-07-28 22:05打开
快慢指针找中点,反转后半段,与前半段比较,O(n) O(1)。
leetcodecnpalindrome-linked-list
链表双指针cpppython
入门2026-07-28 22:05打开
结果先存左侧前缀积,再乘右侧后缀积,O(n) 时间 O(1) 额外空间。
leetcodecnproduct-of-array-except-self
数组前缀和cpppython
普及+/提高2026-07-28 22:05打开
dummy + 快慢指针相距 n+1,快指针到尾时慢指针在待删节点前一位。
leetcodecnremove-nth-node-from-end-of-list
链表双指针cpppython
普及+/提高2026-07-28 22:05打开
prev/cur/next 三指针逐节点反转,同时保留后续节点引用。
leetcodecnreverse-linked-list
链表递归cpppython
入门2026-07-28 22:05打开
先找第 k 个节点,翻转这一段并接回;不足 k 段保持原样。
leetcodecnreverse-nodes-in-k-group
链表递归cpppython
提高+/省选-2026-07-28 22:05打开
三次反转:整体反转,再分别反转前 k 和后 n-k;先取 k %= n。
leetcodecnrotate-array
数组数学双指针cpppython
普及+/提高2026-07-28 22:05打开
先沿主对角线转置,再逐行反转;原地旋转 90 度顺时针,O(n²) O(1)。
leetcodecnrotate-image
数组矩阵cpppython
普及+/提高2026-07-28 22:05打开
从右上角出发,小于 target 向下,大于 target 向左,每步排除一行或一列,O(m+n)。
leetcodecnsearch-a-2d-matrix-ii
数组二分查找分治矩阵cpppython
普及+/提高2026-07-28 22:05打开
用首行/首列充当标记位,先记录首行首列是否含零,再标记并回填,O(1) 额外空间。
leetcodecnset-matrix-zeroes
数组矩阵cpppython
普及+/提高2026-07-28 22:05打开
单调递减队列保存候选下标,过期从队首删,较小候选从队尾删,O(n)。
leetcodecnsliding-window-maximum
队列单调队列滑动窗口数组cpppython
提高+/省选-2026-07-28 22:05打开
快慢指针拆半,递归归并排序,O(n log n) 时间 O(log n) 递归空间。
leetcodecnsort-list
链表排序归并排序cpppython
普及+/提高2026-07-28 22:05打开
维护 top/bottom/left/right 四条边,按右/下/左/上收缩并检查边界,避免单行/单列重复。
leetcodecnspiral-matrix
数组矩阵模拟cpppython
普及+/提高2026-07-28 22:05打开
前缀和 + 哈希表统计历史前缀出现次数,边扫边累计答案,O(n)。
leetcodecnsubarray-sum-equals-k
前缀和哈希表数组cpppython
普及+/提高2026-07-28 22:05打开
dummy + prev/a/b/next 四指针每轮重连已交换段和待处理段。
leetcodecnswap-nodes-in-pairs
链表递归cpppython
普及+/提高2026-07-28 22:05打开
定义 mirror(a,b):值相等且 a.left 对 b.right、a.right 对 b.left。
leetcodecnsymmetric-tree
二叉树递归BFScpppython
入门2026-07-28 22:05打开
双指针维护左右最高柱,较矮侧水量可立即确定,O(n) 时间 O(1) 空间。
leetcodecntrapping-rain-water
双指针动态规划数组cpppython
提高+/省选-2026-07-28 22:05打开
排序后固定第一个数,剩余区间用双指针,跳过相同值去重,O(n²)。
leetcodecn3sum
双指针排序数组cpppython
普及+/提高2026-07-28 22:03打开
双指针维护区间,面积由短板决定,每次移动较矮一侧,O(n)。
leetcodecncontainer-with-most-water
双指针贪心数组cpppython
普及+/提高2026-07-28 22:03打开
双指针:write 指针收集非零元素,剩余补零,保持非零相对顺序。
leetcodecnmove-zeroes
双指针数组cpppython
入门2026-07-28 22:03打开
放入集合,只从 x-1 不存在的起点向后扩展,每个数至多被访问一次,均摊 O(n)。
leetcodecnlongest-consecutive-sequence
哈希表集合数组cpp
普及+/提高2026-07-28 22:01打开
为每个单词构造 26 字母计数 key,哈希到同一组;异位词一定有相同的字母构成。
leetcodecngroup-anagrams
哈希表字符串排序cpp
普及+/提高2026-07-28 21:58打开
遍历数组时用哈希表保存值到下标的映射,在线查找当前数所需的补数。
leetcodecntwo-sum
哈希表数组pythoncpp
入门2026-07-28 18:13打开