Estoy intentando invertir una lista vinculada. Este es el código que se me ocurrió:Inversión de la lista vinculada única en C#
public static void Reverse(ref Node root)
{
Node tmp = root;
Node nroot = null;
Node prev = null;
while (tmp != null)
{
//Make a new node and copy tmp
nroot = new Node();
nroot.data = tmp.data;
nroot.next = prev;
prev = nroot;
tmp = tmp.next;
}
root = nroot;
}
Está funcionando bien. Me preguntaba si sería posible evitar la creación de un nuevo nodo. Me gustaría tener sugerencias sobre esto.
Por qué están implementando una colección personalizada para esto? ¿No funciona ninguna de las opciones disponibles en el espacio de nombres 'System.Collections' para sus requisitos? –
Estoy aprendiendo y preparándome para una entrevista. – Nemo
¿Qué espacio de nombres es Nodo? –