本文共 948 字,大约阅读时间需要 3 分钟。
Given a linked list, swap every two adjacent nodes and return its head.
You may not modify the values in the list's nodes, only nodes itself may be changed.
Example:
Given 1->2->3->4, you should return the list as 2->1->4->3
既然是以两个为一组,就应该每次设置一个头节点,在这两个节点前。这样每一轮才方便更新指针。
尽量少设置指针,容易把自己搞混
# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclass Solution(object): def swapPairs(self, head): """ :type head: ListNode :rtype: ListNode """ if not head or not head.next: return head dummy = ListNode(0) dummy.next = head cur = dummy while cur.next and cur.next.next: first=cur.next second=cur.next.next first.next = second.next second.next = first cur.next = second cur = cur.next.next return dummy.next
转载地址:http://bbrbb.baihongyu.com/