ListNode *swapPairs(ListNode *head)
{
if (head == NULL || head->next == NULL)
return head;
ListNode *fake = new ListNode(0);//fakehead Node
fake->next = head;
ListNode *p1 = head, *p2 = head->next;
head = NULL;
while (p1 != NULL && p2 != NULL)
{
p1->next = p2->next;
p2->next = p1;
fake->next = p2;
if (head == NULL)
head = fake;//save first head node
fake = p1;
p1 = p1->next;
if (p1 != NULL)
{
p2 = p1->next;
}
}
return head->next;
}
【LeetCode】Swap Nodes in Pairs
最新推荐文章于 2024-10-10 01:02:39 发布