Invertir una lista enlazada individualmente en C [duplicado]
Posible duplicado:
¿Cómo revertir una lista enlazada individualmente usando solo dos punteros?
Este es el código C para revertir una lista enlazada. Pero esto no está produciendo la salida deseada.
struct node *temp,*prev;
while(head->next!=NULL)
{
temp=prev=head;
while(temp->next->next!=NULL)
{
temp=temp->next;
prev=prev->next;
}
temp=temp->next;
temp->next=prev;
prev->next=NULL;
}
¿Qué me estoy perdiendo?