Ctrl K

Сортировка связного списка

Средняя
Дан первый узел head односвязного списка (если список пуст, head равен None). Упорядочьте узлы по неубыванию значений и верните первый узел получившегося списка. Попробуйте уложиться в O(n log n) по времени, не копируя значения в массив.
Пример 1
head=list_node([7, -2, 7, 0]) → [-2, 0, 7, 7]

Значения по неубыванию: -2, 0, 7, 7.

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

Из одного узла список уже упорядочен.

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

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