链表模板速览
🧌 链表模板速览📦 基础结构1234typedef struct LNode { int data; struct LNode *next;} LNode, *LinkList; 1️⃣ 反转整个链表思路: 三指针 prev / curr / next,...
LeetCode-双指针合并 (归并法)
🧠 涉及两个有序链表的合并、排序问题一句话结论:👉 “谁小谁先走”。这就是拉链原理:同时遍历两条链表,比较当前头节点,较小的那个接在结果链表后面,然后向前走一步。 ⭐ 核心逻辑哨兵节点 (Dummy Node):只要一个 dummy,用来挂接结果。 拉拉链 (Comparison):whi...
LeetCode-反转链表
🧠 通过修改 next 指针方向,将链表从「顺序结构」重排为「逆序结构」 一句话结论:👉 反转链表的本质不是换值,而是 改变指针指向。 核心三步曲: 留后路:next = curr.next (防止链表断裂) 改指向:curr.next = prev (核心反转) 同...
LeetCode-快慢指针(链表)
🧠 核心场景:链表中的位置定位、测距与判环 判断用哪个模板的唯一标准: 是否涉及“相对位置变化 / 追及” → 倍速循环 是否涉及“倒数 / 固定间距” → 定距循环 ⭐ 模板模板一:倍速循环 (Double Speed) 核心逻辑:只有跑得快,才能根据“相对位置”...
LeetCode-双链表法
🧠 需要对链表节点进行分类,并且必须保持原有相对顺序的问题 一句话结论:👉 双链表法用于 在算法中同时维护两条(或多条)逻辑链表 的问题。双链表法不是链表类型,而是一种解题模型:当题目需要对链表节点进行「筛选 / 分类 / 合并」,并且要求保持原有顺序时,就通过 dum...
LeetCode-链表过滤(dummy + prev + curr)
🧠 链表过滤(dummy + prev + curr)通过遍历链表,将满足特定条件(如值等于 target)的节点通过修改指针“跳过”并移除,从而得到一个清洗后的新链表 一句话结论: 👉 LeetCode 中 所有可能删除头节点的链表题👉 本质上 都可以反向映射为同一个删除模板 ⭐...

