You are given the head of a singly linked list. Your task is to swap every two adjacent nodes without modifying the values stored in the nodes and return the head of the modified list. If the linked list contains an odd number of nodes, the last node remains unchanged.
Example 1
Input: head = [1,2,3,4]
Output: [2,1,4,3]
Explanation: Every pair of adjacent nodes is swapped.
Example 2
Input: head = [1,2,3]
Output: [2,1,3]
Explanation: The first pair is swapped, while the last node remains unchanged.
Example 3
Input: head = [10]
Output: [10]
Explanation: A single-node linked list remains unchanged.
Sign in to write, run, and submit your solution against the full test suite.