24 两两交换链表中的节点

24 两两交换链表中的节点

class ListNode:
def __init__(self, x):
self.val = x
self.next = None

class Solution:
def swapPairs(self, head: ListNode) -> ListNode:
# 定义一个节点,并将它指向头结点
node = ListNode(0)
cur = node
cur.next = head
# 这样写是因为奇数节点最后一个节点不用反转
while cur.next and cur.next.next:
# 定义节点代表需要反转的节点。
node1,node2 = cur.next,cur.next.next
# 进行反转
cur.next,node2.next,node1.next = node2,node1,node2.next
# 更新当前节点到下两个需要反转的节点前。
cur = node1
return node.next

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 24 两两交换链表中的节点