24. 两两交换链表中的节点

tech2025-03-03  7

题目: 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。

你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。

题解思路:

方法:穿针引线+四个指针

函数代码:

class Solution { public: ListNode* swapPairs(ListNode* head) { ListNode *dummy=new ListNode(0); dummy->next=head; ListNode *p=dummy; while(p->next&&p->next->next) { ListNode *node1=p->next; ListNode *node2=node1->next; ListNode *next=node2->next; node2->next=node1; node1->next=next; p->next=node2; p=node1; } return dummy->next; } };
最新回复(0)