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

Example:


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

Note:


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

Source: leetcode | Difficulty: MEDIUM_HARD
Tags: Data structures

Complete search

Starter code: # Definition for singly-linked list.
class ListNode:
    def __init__(self, val=0, next=None):
    self.val = val
    self.next = next
class Solution:
    def swapPairs(self, head: ListNode) -> ListNode:
        

Solutions: