LeetCode 24. 两两交换链表中的节点

24. 两两交换链表中的节点

解题思路

新建一个虚拟节点开始两两交换即可

参考代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
public ListNode swapPairs(ListNode head) {
ListNode dummy = new ListNode(0);
dummy.next = head;
ListNode node0 = dummy;
ListNode node1 = head;
while(node1 != null && node1.next != null) {
ListNode node2 = node1.next;
ListNode node3 = node2.next;

node0.next = node2;
node2.next = node1;
node1.next = node3;
// node0 → node1 → node2 → node3
// node0 → node2 → node1 → node3
node0 = node1;
node1 = node3;
}
return dummy.next;
}
}

LeetCode 24. 两两交换链表中的节点
https://sowink.cn/2026/02/08/LeetCode-24-两两交换链表中的节点/
作者
Xurx
发布于
2026年2月8日
许可协议