Назад к задачам
Junior — Senior
4

Удаление заданного элемента из односвязного списка

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Дан односвязный список с головой head, и требуется удалить из него конкретный узел node. В функции вам будет передан только сам узел node, доступ к голове списка head не будет предоставлен. Все значения в списке уникальны, и гарантировано, что удаляемый узел не является последним элементом.

Требования к удалению:

  • После операции значение удаляемого узла не должно присутствовать в списке.
  • Количество элементов в списке должно уменьшиться на один.
  • Порядок элементов, расположенных перед node, должен остаться неизменным.
  • Порядок элементов, расположенных после node, также должен сохраниться.

Тестирование пользователем: Для проверки вам необходимо передать полностью сформированный список head и конкретный узел node, который будет удалён. Узел node гарантировано находится не в конце списка и действительно присутствует в нём. Система построит список, вызовет вашу функцию с указанным узлом и проверит полученный список после выполнения.

Пример 1: Input: head = [4,5,1,9], node = 5 Output: [4,1,9] Explanation: Удаляется второй элемент со значением 5, после чего список становится 4 → 1 → 9.

Пример 2: Input: head = [4,5,1,9], node = 1 Output: [4,5,9] Explanation: Удаляется третий элемент со значением 1, и список преобразуется в 4 → 5 → 9.