Есть ли способ реверсировать связный список без использования переменной temp в C? Заранее спасибо.
известный подход:
Element *reverse(Element *head)
{
Element *previous = NULL;
while (head != NULL) {
// Keep next node since we trash
// the next pointer.
Element *next = head->next;
// Switch the next pointer
// to point backwards.
head->next = previous;
// Move both pointers forward.
previous = head;
head = next;
}
return previous;
}
использует временную переменную
Saurabh