Sobes.tech
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.