Ctrl K

Вырезать узлы с заданным значением

Лёгкая
Дан односвязный список head и число target. Удалите из списка все узлы, значение которых равно target; остальные узлы сохраняют свой порядок. Верните голову получившегося списка — она может измениться, если удалены первые узлы, а если удалено всё, верните пустой список.
Пример 1
head=list_node([3, 8, 3, 1, 3]), target=3 → [8, 1]

Три узла со значением 3 вырезаются, включая первый и последний; остаются 8 и 1.

Пример 2
head=list_node([5, 5]), target=5 → None

Удаляются все узлы, остаётся пустой список.

Пример 3
head=list_node([2, 4, 6]), target=9 → [2, 4, 6]

Узлов со значением 9 нет, список не меняется.

Ограничения
  • В списке от 0 до 10⁴ узлов
  • 1 ≤ Node.val ≤ 50
  • 0 ≤ target ≤ 50
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСлияние отсортированных цепочек ЛёгкаяЦепочка задом наперёд ЛёгкаяСимметричная нитка бус ЛёгкаяСложение чисел-списков СредняяОбмен соседей парами Средняя
загружаем Python…
Вход
head=list_node([3, 8, 3, 1, 3]), target=3
Ожидается
[8, 1]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 114 тестов на сервере, включая скрытые.