Algorytmy i struktury danych · Middle · Pytanie 26 z 75

Jak iteracyjnie odwrócić listę jednokierunkową?

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

Wyjaśnienie

Wskaźnik każdego węzła jest odwracany na poprzedni węzeł, a potem oba wskaźniki idą do przodu. next zapisuje się najpierw, inaczej reszta listy by przepadła. O(n) czasu, O(1) pamięci.

Do poczytania

Błąd w pytaniu

Algorytmy i struktury danych · Middle · pytanie 26

Sprawdź się

Rozwiąż test Algorytmy i struktury danych · Middle: pytania i odpowiedzi są tasowane, a na końcu czeka przegląd błędów.

Rozwiąż ten test