# Swap Nodes in Pairs

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 = [1]Output: [1]`

Constraints:

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

# Solution-iteration

First of all, in order to avoid disturbing the head node separately, generally first apply for an empty node to point to the head node, and then use a pointer to traverse the entire linked list.

Point is a position in front of the two nodes to be exchanged.

Time Complexity: O(N), as we traverse the entire list only once.

Space Complexity: O(N), due to additional dummy list.

--

--

--

## More from Jaydeep

Full Stack Programmer, love to solve problem’s during free time.

Love podcasts or audiobooks? Learn on the go with our new app.

## Jaydeep

Full Stack Programmer, love to solve problem’s during free time.