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;
}
Այստեղ ցիկլը շարունակվում է, քանի դեռ հաջորդ հանգույցը ունի ևս մեկ հաջորդ հանգույց, այսինքն՝ մինչև նախավերջին տարրին հասնելը։