Junior — Middle
Come determinare prima dell'ultimo elemento in una lista collegata semplice?
sobes.tech AI
Risposta dell'AI
In una lista collegata semplice, per trovare l'elemento prima dell'ultimo, bisogna attraversare la lista e fermarsi sul nodo il cui nodo successivo è l'ultimo (cioè, il campo Next del nodo successivo è null).
Esempio in C#:
class Node {
public int Value;
public Node Next;
}
Node FindPenultimate(Node head) {
if (head == null || head.Next == null) return null; // nessun penultimo
Node current = head;
while (current.Next.Next != null) {
current = current.Next;
}
return current;
}
Qui, il ciclo continua finché il nodo successivo ha a sua volta un nodo successivo, cioè fino a raggiungere l'elemento penultimo.