From 060f1eadb35507f4d8b9a51ae0eb65ac215fc5d4 Mon Sep 17 00:00:00 2001 From: zhenzi Date: Sat, 15 May 2021 11:02:29 +0800 Subject: [PATCH] =?UTF-8?q?0024=E4=B8=A4=E4=B8=A4=E4=BA=A4=E6=8D=A2?= =?UTF-8?q?=E9=93=BE=E8=A1=A8=E4=B8=AD=E7=9A=84=E8=8A=82=E7=82=B9=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0Java=E5=AE=9E=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../0024.两两交换链表中的节点.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/problems/0024.两两交换链表中的节点.md b/problems/0024.两两交换链表中的节点.md index 9f07b4f7..0cfa7fb9 100644 --- a/problems/0024.两两交换链表中的节点.md +++ b/problems/0024.两两交换链表中的节点.md @@ -86,7 +86,27 @@ public: Java: +```java +// 虚拟头结点 +class Solution { + public ListNode swapPairs(ListNode head) { + ListNode dummyNode = new ListNode(0); + dummyNode.next = head; + ListNode prev = dummyNode; + + while (prev.next != null && prev.next.next != null) { + ListNode temp = head.next.next; // 缓存 next + prev.next = head.next; // 将 prev 的 next 改为 head 的 next + head.next.next = head; // 将 head.next(prev.next) 的next,指向 head + head.next = temp; // 将head 的 next 接上缓存的temp + prev = head; // 步进1位 + head = head.next; // 步进1位 + } + return dummyNode.next; + } +} +``` Python: