TGViewer
JavaScript | LeetCode JavaScript | LeetCode @easy_frontend_task · 8.3K subscribers
Post #1552 849
Задача: №24. Swap Nodes in Pairs
Сложность: medium

Дан односвязный список.
Нужно поменять местами каждые два соседних узла.
Нельзя менять значения, только сами узлы.

Пример:
Input: head = [1,2,3,4]  
Output: [2,1,4,3]


👨‍💻 Алгоритм:

1️⃣ Базовый случай: если head пуст или в списке только один узел — возвращаем head как есть.

2️⃣ Рекурсивно вызываем swapPairs от head.next.next, чтобы поменять местами последующие пары.

3️⃣ Меняем местами текущую пару:
- Пусть p = head.next
- p.next = head — связываем второй узел с первым
- head.next = t — первый узел указывает на результат рекурсивного вызова
- Возвращаем p — он становится новым «головой» текущей пары

😎 Решение:
var swapPairs = function (head) {
if (!head || !head.next) {
return head;
}

const t = swapPairs(head.next.next);
const p = head.next;
p.next = head;
head.next = t;
return p;
};


Ставь 👍 и забирай 📚 Базу знаний
More from @easy_frontend_task
  1. Oct 17, 2026Сложность: medium Задача: 275. H-Index II Дан массив целых чисел citations, где citations[…
  2. Oct 13, 2026Задача: 687. Longest Univalue Path Сложность: medium Дано корень бинарного дерева, верните…
  3. Oct 11, 2026Задача: 651. 4 Keys Keyboard Сложность: medium Представьте, что у вас есть специальная кла…
  4. Oct 9, 2026Задача: 1054. Distant Barcodes Сложность: medium На складе имеется ряд штрих-кодов, где i-…
  5. Oct 9, 2026Задача: 1237. Find Positive Integer Solution for a Given Equation Сложность: medium Если д…
  6. Oct 8, 2026Задача: №19. Remove Nth Node From End of List Сложность: medium Дан связанный список и чис…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →