Hot100:回文链表(Palindrome Linked List)快慢指针 + 反转后半段 O(1) 空间 ACERS 解析

副标题 / 摘要 回文链表的核心是“对称比较”,但单链表不能从尾部往前走。最稳的工程化解法是:快慢指针找中点 -> 原地反转后半段 -> 比较 -> 再反转恢复结构,做到 O(n) 时间、O(1) 额外空间且不破坏链表。 预计阅读时长:10~14 分钟 标签:Hot100、链表、快慢指针、原地反转 SEO 关键词:回文链表, Palindrome Linked List, O(1) 空间, 快慢指针, 反转后半段, LeetCode 234 元描述:快慢指针定位中点,反转后半段与前半段逐一比较,最后恢复链表结构;O(n)/O(1) 判断单链表是否回文。 A — Algorithm(题目与算法) 题目还原 给你一个单链表的头节点 head,请你判断该链表是否为回文链表: 如果是回文,返回 true;否则返回 false。 输入输出 名称 类型 描述 head ListNode 单链表头结点 返回 bool 是否为回文 示例 1 输入: 1 -> 2 -> 2 -> 1 输出: true 示例 2 输入: 1 -> 2 输出: false 目标读者 刷 Hot100,想掌握“链表中点 + 原地反转”组合拳的学习者 面试中经常遇到“回文/对称/镜像”类题的开发者 关注空间效率、且需要保证数据结构不被破坏的工程实践者 背景 / 动机 在数组里判断回文很简单:左右指针向中间收缩即可。 但在单链表里,你只能顺着 next 单向走,无法从尾部回看,这就让“对称比较”变得不那么直接。 ...

2026年2月1日 · 11 分钟 · map[name:Jeanphilo]

Hot100:反转链表(Reverse Linked List)三指针迭代/递归 ACERS 解析

副标题 / 摘要 反转链表是“指针重连”的入门必修课:看似简单,却最容易因为边界、断链、顺序写错而翻车。本文用 ACERS 结构把三指针迭代写法讲透,并给出递归对照与多语言可运行实现。 预计阅读时长:10~12 分钟 标签:Hot100、链表、指针、迭代 SEO 关键词:Hot100, Reverse Linked List, 反转链表, 三指针, 迭代, 递归, LeetCode 206 元描述:三指针迭代 O(n)/O(1) 反转单链表,附递归对比、工程迁移与多语言实现。 A — Algorithm(题目与算法) 题目还原 给你单链表的头节点 head,请你反转链表,并返回反转后的链表。 输入输出 名称 类型 描述 head ListNode 单链表头节点(可能为空) 返回 ListNode 反转后的新头节点 示例 1(自拟) 输入: 1 -> 2 -> 3 -> 4 -> 5 -> null 输出: 5 -> 4 -> 3 -> 2 -> 1 -> null 示例 2(自拟) 输入: 1 -> 2 -> null 输出: 2 -> 1 -> null 目标读者 正在刷 Hot100 / 准备面试的同学 写链表题经常断链/空指针、希望建立稳定模板的中级开发者 需要在 C/C++/Rust 等语言里熟练处理指针与所有权的工程师 背景 / 动机 在真实工程里,“反转链表”不一定以 LeetCode 的形态出现,但它背后的能力非常通用: ...

2026年2月1日 · 9 分钟 · map[name:Jeanphilo]

Hot100:相交链表(Intersection of Two Linked Lists)双指针换头 O(1) 空间 ACERS 解析

副标题 / 摘要 相交链表的关键不是比较值,而是比较“节点引用/地址”。本文用 ACERS 结构把朴素哈希解法、长度对齐解法与最常用的“双指针换头”模板讲清楚,并给出多语言可运行实现(不修改链表、无环前提)。 预计阅读时长:10~14 分钟 标签:Hot100、链表、双指针 SEO 关键词:相交链表, 双指针换头, O(1) 空间, LeetCode 160, Intersection of Two Linked Lists 元描述:双指针分别走完 A 与 B 后交换起点,保证在 m+n 步内相遇于交点或同时到达 null;O(m+n)/O(1) 且不修改链表结构。 A — Algorithm(题目与算法) 题目还原 给你两个单链表的头节点 headA 和 headB,请你找出并返回两个单链表相交的起始节点。 如果两个链表不存在相交节点,返回 null。 补充约束: 题目数据保证整个链式结构中不存在环 返回结果后,链表必须保持其原始结构(不允许修改链表) 输入输出 名称 类型 描述 headA ListNode 链表 A 的头结点 headB ListNode 链表 B 的头结点 返回 ListNode / null 相交起始节点(同一节点对象),或 null 示例 1(图示场景) A: a1 -> a2 -> c1 -> c2 -> c3 B: b1 -> b2 -> b3 -> c1 -> c2 -> c3 输出: c1(返回节点引用,不是数值) 示例 2(不相交) A: 1 -> 2 -> 3 B: 4 -> 5 输出: null 目标读者 刷 Hot100,希望把链表双指针模板一次性吃透的学习者 经常把“节点值相等”误当作“节点相同”的初中级开发者 需要在工程里处理共享链式结构(共享后缀/共享节点)的工程师 背景 / 动机 这题看似简单,但它强迫你分清三个概念: ...

2026年2月1日 · 10 分钟 · map[name:Jeanphilo]