Leetcode 24. Swap Nodes in Pairs
题目
解法:iterative或recursion
链表最基础的操作,必须要会的
首先讲iterative的步骤:
- 定义一个dummy node储存指向链表头部的指针,用来最后返回结果
- 定义一个prev_node,参与交换过程,保存指向下一组交换的两个节点中交换后的第一个节点指针,这样才能track整条列表
- 取出当前需要交换的两个节点,建议重新命名,这样就不会导致交换的时候很多next搞混
- 进行交换,先断开第一个节点指向第二个节点的指针,将这个指针指向第二个节点的下一个节点;然后将第二个节点的指针指向第一个节点。必须以这个顺序交换,否则会丢失后面的节点
- 重新初始化prev_node和head,以准备下一次交换ÿ