Sobes.tech
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 = [] Вывод: [] Объяснение: Пустой список остаётся пустым, так как нет узлов для перестановки.