给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。
输入:head = [1,2,3,4]
输出:[2,1,4,3]
示例 2:
输入:head = []
输出:[]
示例 3:
输入:head = [1]
输出:[1]
提示:
链表中节点的数目在范围 [0, 100] 内
0 <= Node.val <= 100
进阶:你能在不修改链表节点值的情况下解决这个问题吗?(也就是说,仅修改节点本身。)
# Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def swapPairs(self, head): ret = ListNode() ret.next = head tmp = ret while tmp.next and tmp.next.next: t3 = tmp.next.next.next t2 = tmp.next tmp.next = tmp.next.next tmp.next.next = t2 t2.next = t3 tmp = t2 return ret.next 作者:qingfengpython 链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/solution/24liang-liang-jiao-huan-lian-biao-zhong-o9uol/ 来源:力扣(LeetCode) 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。