Junior — Middle+
44
Перестановка соседних узлов в односвязном списке
Условие задачи
Дан односвязный список listHead. Требуется поменять местами каждый соседний узел, образуя пары, и вернуть указатель на новый первый элемент. Если количество узлов нечётное, последний элемент остаётся на месте.
Пример 1: Ввод: listHead = [1,2,3,4] Вывод: [2,1,4,3] Объяснение:
- Пара (1,2) меняется местами → (2,1).
- Пара (3,4) меняется местами → (4,3).
- Итоговый список: [2,1,4,3].
Пример 2: Ввод: listHead = [1,2,3] Вывод: [2,1,3] Объяснение:
- Пара (1,2) меняется местами → (2,1).
- Оставшийся одиночный узел (3) остаётся без изменений.
- Итоговый список: [2,1,3].
Пример 3: Ввод: listHead = [] Вывод: [] Объяснение: Пустой список остаётся пустым, так как нет узлов для перестановки.