交换链表节点
Apr 02, 2022不允许使用交换指的方式。
ListNode* swapPairs(ListNode* head) {
ListNode* p1 = new ListNode(0);
ListNode* result = p1;
p1->next = head;
ListNode* p2 = p1 != NULL ? p1->next : p1;
ListNode* p3 = p2 != NULL ? p2->next : p2;
while (p1 != NULL && p2 != NULL && p3 != NULL)
{
p1->next = p3;
p2->next = p3->next;
p3->next = p2;
p1 = p2;
p2 = p1 != NULL ? p1->next : p1;
p3 = p2 != NULL ? p2->next : p2;
}
return result->next;
}
Comments