Ctrl K

Цепочка задом наперёд

Лёгкая
Вагоны поезда сцеплены в односвязный список: каждый узел знает только следующий. Дана голова списка head. Переставьте сцепки так, чтобы вагоны шли в обратном порядке, и верните новую голову — бывший последний узел. Пустой список (head равен None) остаётся пустым. Попробуйте решить задачу двумя способами: циклом и рекурсией.
Пример 1
head=list_node([7, -2, 0, 15]) → [15, 0, -2, 7]

Узлы идут в обратном порядке: последний (15) становится первым, первый (7) — последним.

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

Список из одного узла при развороте не меняется.

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

Пустой список остаётся пустым.

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

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