# Swap Nodes in Pairs Leetcode Solution

In this post, we are going to solve the Swap Nodes in Pairs Leetcode Solution problem of Leetcode. This Leetcode problem is done in many programming languages like C++, Java, and Python.

## Problem

Given a linked list, swap every two adjacent nodes and return its head. You must solve the problem without modifying the values in the list’s nodes (i.e., only nodes themselves may be changed.)

Example 1:

```Input: head = [1,2,3,4]
Output: [2,1,4,3]
```

Example 2:

```Input: head = []
Output: []
```

Example 3:

```Input: head = 
Output: 
```

Constraints:

• The number of nodes in the list is in the range `[0, 100]`.
• `0 <= Node.val <= 100`

Now, lets see the leetcode solution of Swap Nodes in Pairs Leetcode Solution.

### Swap Nodes in Pairs Leetcode Solution in Python

```class Solution:
def swapPairs(self, head: ListNode) -> ListNode:
length = 0
length += 1
return length

prev = dummy

for _ in range(length // 2):
next = curr.next
curr.next = next.next
next.next = prev.next
prev.next = next
prev = curr
curr = curr.next

return dummy.next
```

### Swap Nodes in PairsLeetcode Solutionin CPP

```class Solution {
public:
ListNode* prev = &dummy;

for (int i = 0; i < length / 2; ++i) {
ListNode* next = curr->next;
curr->next = next->next;
next->next = prev->next;
prev->next = next;
prev = curr;
curr = curr->next;
}

return dummy.next;
}

private:
int length = 0;
for (ListNode* curr = head; curr; curr = curr->next)
++length;
return length;
}
};
```

### Swap Nodes in Pairs Leetcode Solution in Java

```class Solution {
ListNode dummy = new ListNode(0, head);
ListNode prev = dummy;

for (int i = 0; i < length / 2; ++i) {
ListNode next = curr.next;
curr.next = next.next;
next.next = curr;
prev.next = next;
prev = curr;
curr = curr.next;
}

return dummy.next;
}