1. 物理模型 (The Physics)
-
一句话定义:
单向链表中的唯一运动方式。沿着指针方向,从头节点(Head)逐个访问直到空节点(Null),不可跳跃,不可回头。 -
适用场域:
- 数据结构:单向链表 (Singly Linked List)。
- 物理铁律: “单行道隧道” 。
你一旦进入隧道(拿到 Head),就只能硬着头皮走到出口(Null)。
-
核心价值:
它是所有链表算法的 “基础”。
2. 核心范式 (The Schema) 📐
这是链表操作的骨架。任何链表题的代码,撕掉具体的业务逻辑后,剩下的就是这个骨架。
/**
* 积木名称:线性遍历器 (The Linear Iterator)
*
* @desc 标准的链表迭代结构
* @param head 入口节点
*/
function traverse<T>(head: T | null): void {
// 指针初始化:就像探险队站在了洞口
let current = head;
// 终止条件:当 current 为 null,说明走出了隧道
while (current !== null) {
// ---【挂载点 (Mount Point)】---
// 在这里执行具体业务逻辑,例如:
// 1. 计数 (length++) -> 变成了“计数器”
// 2. 比较 (val === target) -> 变成了“搜索器”
// 3. 记录 (last = current) -> 变成了“尾部追踪器”
// -----------------------------
// 推进器:迈出下一步
// @ts-ignore
current = current.next;
}
}