Sobes.tech
Junior — Middle

Kā noteikt pirms pēdējā elementa vienkāršajā saistītajā sarakstā?

sobes.tech AI

Atbilde no AI

Vienkāršā saistītā sarakstā, lai atrastu priekšpēdējo elementu, ir jāpārvietojas pa sarakstu un jāpārtrauc pie mezgla, kura nākamais mezgls ir pēdējais (t.i., lauka Next vērtība nākamajā mezglā ir null).

Piemērs C#:

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

Node FindPenultimate(Node head) {
    if (head == null || head.Next == null) return null; // nav priekšpēdējais
    Node current = head;
    while (current.Next.Next != null) {
        current = current.Next;
    }
    return current;
}

Šeit cikls turpinās tik ilgi, kamēr nākamais mezgls arī ir ar nākamo mezglu, līdz nonākam pie priekšpēdējā elementa.