24. 两两交换链表中的节点
链接:https://leetcode-cn.com/problems/swap-nodes-in-pairs/
题目描述见链接内容。
解法1:迭代
一开始想用双指针解决,结果把两个指针一顿交换,发现交换了个寂寞,后来发现只利用一个指针cur
,对cur.next
和cur.next.next
不断赋值就可以
还利用之前的小技巧,声明了一个DummyNode,放在head
前面,这样就不需要判断首节点的特殊性了
var swapPairs = function (head) {
// 在 head 之前声明一个DummyNode
const dummyNode = new ListNode();
dummyNode.next = head;
let cur = dummyNode;
// dummyNode head node1 node2 node3....
while <