Junior — Middle
Comment déterminer avant le dernier élément dans une liste chaînée simple?
sobes.tech IA
Réponse de l'IA
Dans une liste chaînée simple, pour trouver l'élément avant le dernier, il faut parcourir la liste et s'arrêter au nœud dont le nœud suivant est le dernier (c'est-à-dire dont le champ Next du nœud suivant est null).
Exemple en C# :
class Node {
public int Value;
public Node Next;
}
Node FindPenultimate(Node head) {
if (head == null || head.Next == null) return null; // pas d'avant-dernier
Node current = head;
while (current.Next.Next != null) {
current = current.Next;
}
return current;
}
Ici, la boucle continue tant que le nœud suivant a lui aussi un nœud suivant, c'est-à-dire jusqu'à atteindre l'avant-dernier élément.