Алгоритми та структури даних · Middle · Запитання 26 з 75

Як розвернути однозв'язний список ітеративно?

let prev = null, cur = head;
while (cur) {
  const next = cur.next;
  // ?
}
return prev;

Пояснення

Вказівник кожного вузла перенаправляється на попередній вузол, після чого обидва вказівники рухаються вперед. next зберігають заздалегідь, інакше решта списку загубиться. O(n) часу, O(1) пам'яті.

Де почитати

Помилка в запитанні

Алгоритми та структури даних · Middle · запитання 26

Перевірте себе

Пройдіть тест Алгоритми та структури даних · Middle: запитання й варіанти перемішуються, а наприкінці - розбір помилок.

Пройти цей тест