Ctrl K

Только уникальные значения в списке

Средняя
Дан односвязный список с головой head, значения в нём идут в произвольном порядке. Найдите все значения, которые встречаются в списке больше одного раза, и удалите **все** узлы с такими значениями. Порядок оставшихся узлов сохраняется. Верните голову получившегося списка (если узлов не осталось — пустой список).
Пример 1
head=list_node([4, 7, 4, 9, 1]) → [7, 9, 1]

Значение 4 встречается дважды, поэтому удаляются оба узла с 4. Остаётся 7 → 9 → 1.

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

Повторяются все значения, список становится пустым.

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

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