24. Swap Nodes in Pairs
Leetcode link for this question
Discription:
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.
Analyze:
Code 1 :
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def swapPairs(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
link=ListNode(0)
link.next=head
tail=link
while tail.next and tail.next.next:
a=tail.next
b=a.next
tail.next,a.next,b.next=b,b.next,a
tail=a
return link.next
Submission Result:
Status: Accepted
Runtime: 44 ms
Ranking: beats 81.51%
本文介绍了一种在常数空间复杂度下交换链表中每两个相邻节点的算法,并提供了完整的Python实现代码。该算法不修改节点值,仅改变节点之间的连接关系。

524

被折叠的 条评论
为什么被折叠?



