Ctrl K

Убрать k-й узел с конца

Средняя
Дан односвязный список head и число k. Удалите из списка узел, который стоит k-м по счёту, если считать с конца (последний узел — первый с конца), и верните голову изменённого списка. Если удалённым оказался единственный узел, верните пустой список. Попробуйте обойтись одним проходом по списку.
Пример 1
head=list_node([6, 0, 8, 3]), k=3 → [6, 8, 3]

Считая с конца: 3 — первый, 8 — второй, 0 — третий. Его и удаляем.

Пример 2
head=list_node([42, 17]), k=2 → [17]

Второй с конца узел — это голова, после удаления список начинается с 17.

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

Единственный узел удалён, список стал пустым.

Ограничения
  • В списке от 1 до 30 узлов
  • 0 ≤ Node.val ≤ 100
  • 1 ≤ k ≤ длина списка
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиХвост списка — в начало СредняяОтсортированный список без повторов СредняяРазделить список вокруг опорного числа СредняяСписок, сложенный с двух концов СредняяСортировка связного списка Средняя
загружаем Python…
Вход
head=list_node([6, 0, 8, 3]), k=3
Ожидается
[6, 8, 3]

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