Back to questions
СБЕР Тех
Junior — Middle
73
Как определить перед 마지막 элементом в односвязном списке?
Companies where asked
Answer from AI
sobes.tech 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;
}
Здесь цикл продолжается, пока у следующего узла есть следующий, то есть пока не достигнем предпоследнего элемента.