Para aquellos amigos que tampoco puedan entender el codigo anterior aqui les traigo un codigo que invierte la lista.
Código Delphi
[-]procedure InvertirLista(var l: pnodo);
var
temp,ant: pnodo;
begin
ant:=l;
temp:=nil;
while ant^.sig <>nil do
begin
temp:=ant^.sig;
ant^.sig:=temp^.sig;
temp^.sig:=l;
l:=temp
end;
end;
Si tienen alguna duda simplemente aganla conocer. que congusto respondere. por que la logica si me queda bien clara.
Saludos.