题目要求在链表中两两交换节点顺序。不能使用常数以上的额外空间。
在纸上画明白交换的时候,链表的next指针怎么变化即可。
设当前有node1,node2,node3,node4这4个指针。在链表中有node1-node2-node3-node4。我们要交换node2和node3。则
node1->next = node3;
node2->next = node4;
node3->next = node2;
然后令
node1=node2;
node2=node4;
node3=node2->next;
node4=node3->next;
直到node2为空或node2->next为空。
然后再考虑头节点的特殊处理即可。