24. 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.)
先建立一个哨兵节点,next指向head。
交换时同时传入前一个节点pre和当前节点root。
当当前节点非null且下一个节点非null,则可以交换两个节点。
首先保存当前节点的下一个节点next和下一个节点的下一个节点last。
- 1.将pre指向next。
- 2.将next指向root。
- 3.将root指向last。
- 4.处理下一组节点,root作为pre,root.next作为root递归。
最后返回哨兵节点的next。
1 | /** |
24. Swap Nodes in Pairs
https://xuanhe95.github.io/2022/04/26/24-Swap-Nodes-in-Pairs/