24. Swap Nodes in Pairs
  1. Swap Nodes in Pairs
# 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: Optional[ListNode]) -> Optional[ListNode]:
        
        if head == None or head.next == None:
            return head
        r = head
        prev = None
        while r != None:
            firstNode = r
            secondNode = r.next
            if secondNode == None:
                break
            nextNode = secondNode.next
            if prev == None:
                head = secondNode
            firstNode.next = nextNode
            secondNode.next = firstNode
            if prev != None:
                prev.next = secondNode
            prev = firstNode
            
            r = nextNode
        return head        
Comments (0)