Ctrl K
Курс · шаг 28 из 79К шагуДальше

Слияние отсортированных цепочек

Лёгкая
Даны первые узлы двух односвязных списков left и right; значения в каждом из них идут по неубыванию. Любой из списков может быть пустым (тогда это None). Соберите из узлов обоих списков один список, тоже упорядоченный по неубыванию, и верните его первый узел. Новые узлы создавать не нужно — достаточно перецепить существующие.
Пример 1
left=list_node([2, 6, 8]), right=list_node([1, 6, 10, 11]) → [1, 2, 6, 6, 8, 10, 11]

Узлы обоих списков выстраиваются по возрастанию; обе шестёрки остаются в ответе.

Пример 2
left=list_node([]), right=list_node([-4, 0]) → [-4, 0]

Первый список пуст — ответом будет второй список как есть.

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

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