美文网首页
[每日一题]24.Swap Nodes in Pairs(链表)

[每日一题]24.Swap Nodes in Pairs(链表)

作者: 何学诚 | 来源:发表于2019-03-30 09:43 被阅读0次
    1.这是一个反转链表 相邻两个节点 的题目。
    24.Swap Nodes in Pairs.png

    题目的意思就是输入一个链表,然后将链表的相邻的两个节点进行反转.

    2.题解:

    我们的思路是:记录连续三个节点(pre,a,b) ,然后将后面两个节点a,b进行反转,并将第一个节点的next指向第三个节点b

    代码有点简洁:

    # 记录连续三个节点(pre,a,b) ,然后将后面两个节点a,b进行反转,
    # 并将第一个节点的next指向第三个节点b
    class Solution:
        def swapPairs(self, head):
            pre, pre.next = self, head
            while pre.next and pre.next.next:
                a = pre.next
                b = a.next
                pre.next, b.next, a.next = b, a, b.next
                pre = a
            return self.next
    

    画图解释:


    24.Swap Nodes in Pairs.png
    3.完整代码

    查看链接:
    https://github.com/Wind0ranger/LeetcodeLearn/blob/master/1-List/24-Swap-Nodes-in-Pairs.py

    相关文章

      网友评论

          本文标题:[每日一题]24.Swap Nodes in Pairs(链表)

          本文链接:https://www.haomeiwen.com/subject/hxfjbqtx.html