Junior — Middle
Kuidas määrata enne ühe ühendatud loendi viimast elementi?
sobes.tech AI
Vastus AI-lt
Üheksakselise ühendatud nimekirja puhul, et leida eelviimane element, tuleb list läbi käia ja peatuda sõlmel, mille järgmisel sõlmel on viimane (st. välja Next väli järgmisel sõlmel on null).
Näide C#-s:
class Node {
public int Value;
public Node Next;
}
Node FindPenultimate(Node head) {
if (head == null || head.Next == null) return null; // eelviimane puudub
Node current = head;
while (current.Next.Next != null) {
current = current.Next;
}
return current;
}
Siin jätkub tsükkel nii kaua, kuni järgmisel sõlmel on ka järgnev sõlm, kuni jõuame eelviimase elemendini.