leetcode 24 两两交换链表中的节点

给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

示例:

给定 1->2->3->4, 你应该返回 2->1->4->3.
说明:

你的算法只能使用常数的额外空间。
你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, x):
#         self.val = x
#         self.next = None

class Solution:
    def swapPairs(self, head):
        """
        :type head: ListNode
        :rtype: ListNode
        """
        res=[]
        if not head:
            return None
        while head:
            res.append(head.val)
            head = head.next
        for i in range(int(len(res)/2)):
            res[2*i],res[2*i + 1] = res[2*i + 1],res[2*i]
        return res

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_40924580/article/details/84494854