题目传送门
1.定义一个虚拟节点链接链表
2.定义一个当前节点指向虚拟节点
3.在当前节点的下一个节点和下下一个节点都不为null的情况下。
- 定义 node1和node2。保存当前节点后面两个节点的地址。
- cur.next = node2;
- node1.next = node2.next;
- node2.next = node1;
- cur = node1;
4.返回return dummyHead.next;
class Solution {public ListNode swapPairs(ListNode head) {ListNode dummyHead = new ListNode(0,head);ListNode cur = dummyHead;while(cur.next != null && cur.next.next != null){ListNode node1 = cur.next;ListNode node2 = cur.next.next;cur.next = node2;node1.next = node2.next;node2.next = node1;cur = node1;}return dummyHead.next;}
}