From 956c23cb6649f4ab90a1f511a30d1cdbc6fbecf3 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Fri, 30 Oct 2026 20:18:01 +0800 Subject: [PATCH] =?UTF-8?q?Update=2025.=20=E5=90=88=E5=B9=B6=E4=B8=A4?= =?UTF-8?q?=E4=B8=AA=E6=8E=92=E5=BA=8F=E7=9A=84=E9=93=BE=E8=A1=A8.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充递归与迭代解法的思路说明。 --- notes/25. 合并两个排序的链表.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/notes/25. 合并两个排序的链表.md b/notes/25. 合并两个排序的链表.md index a664c659..1ca7bf21 100644 --- a/notes/25. 合并两个排序的链表.md +++ b/notes/25. 合并两个排序的链表.md @@ -10,6 +10,8 @@ ### 递归 +比较两个链表的头节点,较小的那个作为合并结果的头节点,它的 next 指向剩余部分合并的结果,剩余部分的合并是同一个问题。 + ```java public ListNode trainningPlan(ListNode l1, ListNode l2) { if (l1 == null) @@ -28,6 +30,8 @@ public ListNode trainningPlan(ListNode l1, ListNode l2) { ### 迭代 +用一个不存值的头结点 head 简化边界处理,cur 指向合并结果的末尾。每次把两个链表中较小的头节点接到 cur 后面,一个链表用完后,把另一个链表剩下的部分整个接上。 + ```java public ListNode trainningPlan(ListNode l1, ListNode l2) { ListNode head = new ListNode(-1);