Код Senior Связные списки обновлено
Перестановка по чётности позиций
Условие
Переставь узлы так, чтобы сначала шли стоящие на нечётных позициях (считая с 1), затем на чётных. Относительный порядок внутри групп сохранить, доп. памяти не выделять.
Что проверяют тесты
переставляет
чётная длина
короткие списки
Как подойти
Расщепление списка на две цепочки за один проход с последующей склейкой. Порядок присваиваний жёсткий: сначала продвигаем нечётный, потом чётный - иначе теряется ссылка. Проверка even && even.next закрывает обе чётности длины.
Подсказки: 2
- Веди два хвоста и перекидывай узлы через один.
- Голову чётной цепочки надо запомнить до начала перестановки.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.