Junior — Middle
¿Cómo determinar antes del último elemento en una lista enlazada simple?
sobes.tech AI
Respuesta de la IA
En una lista enlazada simple, para encontrar el elemento antes del último, hay que recorrer la lista y detenerse en el nodo cuyo siguiente nodo es el último (es decir, donde el campo Next del siguiente nodo es null).
Ejemplo en C#:
class Node {
public int Value;
public Node Next;
}
Node FindPenultimate(Node head) {
if (head == null || head.Next == null) return null; // no hay penúltimo
Node current = head;
while (current.Next.Next != null) {
current = current.Next;
}
return current;
}
Aquí, el ciclo continúa mientras el siguiente nodo tenga a su vez un siguiente, es decir, hasta llegar al penúltimo elemento.