void swapNth(Node **head, int n)
{
if (head == NULL
|| *head == NULL
|| n == 1)
{
return;
}
int count = 0;
Node *prev = *head;
while (prev && count < n-2)
{
prev = prev->next;
count++;
}
if (prev == NULL)
{
return;
}
Node *p = prev->next;
if (p == NULL)
{
return;
}
Node *next = p->next;
p->next = (*head)->next;
(*head)->next = next;
prev->next = *head;
*head = p;
}
交换单向链表的头结点和第n个节点
最新推荐文章于 2022-10-30 19:13:59 发布