• 24. Swap Nodes in Pairs


    Given a linked list, swap every two adjacent nodes and return its head.

    For example,
    Given 1->2->3->4, you should return the list as 2->1->4->3.

    Your algorithm should use only constant space. You may not modify the values in the list, only nodes itself can be changed.

    AC代码:

    class Solution(object):
        def swapPairs(self, head):
            if not head: return None
            if not head.next: return head
            ret_node = head.next
            while True:
                temp = head.next.next
                head.next.next = head
                if not temp or not temp.next:
                    head.next = temp
                    break
                else:
                    head.next = temp.next
                    head = temp
            return ret_node

    规定了不能交换值,只能改变节点。

    所以每两个节点分为一组,用一个临时变量存储后面节点即可。

  • 相关阅读:
    梯度消失和梯度爆炸
    BN的作用与使用过程
    百面机器学习笔记(二)
    正则表达式
    CSS Sprite
    事件绑定
    拖拽
    oncontextmenu
    鼠标跟随
    鼠标事件
  • 原文地址:https://www.cnblogs.com/zhuifengjingling/p/5237049.html
Copyright © 2020-2023  润新知