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%