Sobes.tech
Junior — Middle

Жалгыз байланыштуу тизмеде акыркы элементтен мурун кантип аныктоо керек?

sobes.tech AI

AIден жооп

Бирдиктүү байланышкан тизмеде, акыркы элементтен мурдагы элементти табуу үчүн, тизмени өтүп, кийинки түйүн акыркы болсо, токтоосуз керек (б.а., кийинки түйүндүн Next талаасы null болсо).

C# мисалы:

class Node {
    public int Value;
    public Node Next;
}

Node FindPenultimate(Node head) {
    if (head == null || head.Next == null) return null; // акыркы эмес
    Node current = head;
    while (current.Next.Next != null) {
        current = current.Next;
    }
    return current;
}

Бул цикл, кийинки түйүн дагы бир кийинки түйүнгө ээ болгончо, уланат, башкача айтканда, акыркы эмес элементке жеткенге чейин.