思路:
对当前的current第一个和第二个进行循环遍历 用temp暂时存储第一个节点链接 用temp1进行存储第三个节点连接 开始进行交换,将第一个节点和第二个节点进行交换后,再将交换后的第二个节点的下一个节点相连接 最后将current返回到遍历当中的第二个节点处再进行下一次的循环
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
class Solution:
def swapVal(self,head:ListNode)->ListNode:
'''将dunmy_head设置为虚拟头节点,且赋值给current'''
dunmy_head=ListNode(next=head)
current=dunmy_head
'''对当前的current第一个和第二个进行循环遍历'''
while current.next and current.next.next:
'''用temp暂时存储第一个节点链接'''
temp=current.next
'''用temp1进行存储第三个节点连接'''
temp1=current.next.next.next
'''开始进行交换,将第一个节点和第二个节点进行交换后,再将交换后的第二个节点的下一个节点相连接
最后将current返回到遍历当中的第二个节点处再进行下一次的循环'''
current.next=current.next.next
current.next.next=temp
temp.next=temp1
current=current.next.next
return dunmy_head.next