Reverse a LinkedList c ++ [duplicado]

Posible duplicado:
No se puede revertir una lista enlazada

Estoy tratando de revertir una lista enlazada:

void LinkedList::reverseList()
{
    Node *next=_head;
    Node *prev=0;
    while(next!=0)
    {
        Node *tmp=next->_next;
        next->_next=prev;
        prev=next;
        next=tmp;
    }
}

Digamos que la lista es: 4-> 3-> 2-> 1

Cuando imprimo la lista, solo veo 1 (la función de impresión es buena).

¿Alguna ayuda?

Gracias

Respuestas a la pregunta(3)

Su respuesta a la pregunta