# 24. Swap Nodes in Pairs

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

You may **not** modify the values in the list’s nodes, only nodes itself may be changed.

**Example:**

Given`1->2->3->4`

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

.

/** * Definition for a singly-linked list. * class ListNode { * public $val = 0; * public $next = null; * function __construct($val) { $this->val = $val; } * } */ class Solution { /** * @param ListNode $head * @return ListNode */ function swapPairs($head) { if($head === null || $head->next === null){ return $head; } $r = $head->next; $temp = $r->next; $r->next = $head; $r->next ->next = $this->swapPairs($temp); return $r; } }

## 0 Comments