from os import pread
class Solution:
def swapPairs(self, head: ListNode) -> ListNode:
# write code here
dummy = ListNode(0)
dummy.next = head
prev = dummy
while prev.next and prev.next.next:
# 定义当前要交换的两个节点
first = prev.next
second = first.next
# 三步指针交换
prev.next = second # prev指向第二个节点
first.next = second.next # 第一个节点指向第三个节点(或None)
second.next = first # 第二个节点指向第一个节点
# 移动prev到下一对的前一个位置(即刚交换完的第一个节点)
prev = first
return dummy.next

京公网安备 11010502036488号