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;
}
Цикълът продължава, докато следващият възел има и следващ възел, т.е. докато не достигнем предпоследния елемент.