Контест Junior Указатели и ссылки обновлено

Удалить узлы списка с заданными значениями

Условие

Односвязный список из n целых чисел нужно очистить от всех узлов, значения которых входят в «чёрный список». Порядок оставшихся сохраняется. Попробуйте написать удаление на настоящих узлах (struct Node { int val; Node* next; };) через указатель на указатель Node**, без особого случая для головы.

Ввод: n (0 ≤ n ≤ 3000), затем n чисел списка (строка может быть пустой), затем k (0 ≤ k ≤ 3000) и k запрещённых значений. Все значения от 0 до 10⁹.

Вывод: оставшиеся значения через пробел или empty, если список опустел.

Пример 1

Ввод:

6
1 2 3 2 4 2
1
2

Вывод:

1 3 4

Пример 2

Ввод:

3
5 5 5
1
5

Вывод:

empty

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме