Junior — Middle
Cum se determină înainte de ultimul element dintr-o listă simplu înlănțuită?
sobes.tech AI
Răspuns de la AI
Într-o listă simplu înlănțuită, pentru a găsi elementul înainte de ultimul, trebuie să parcurgi lista și să te oprești la nodul al cărui nod următor este ultimul (adică, câmpul Next al nodului următor este null).
Exemplu în C#:
class Node {
public int Value;
public Node Next;
}
Node FindPenultimate(Node head) {
if (head == null || head.Next == null) return null; // nu există penultimul
Node current = head;
while (current.Next.Next != null) {
current = current.Next;
}
return current;
}
Aici, ciclul continuă atâta timp cât nodul următor are și un nod următor, adică până ajungem la elementul penultim.