Обратный связанный список в JavaScript: методы и примеры

Чтобы перевернуть связанный список в JavaScript, вы можете использовать несколько методов. Вот несколько часто используемых подходов:

Метод 1: итеративный подход

function reverseLinkedList(head) {
  let prev = null;
  let current = head;
  while (current !== null) {
    let next = current.next;
    current.next = prev;
    prev = current;
    current = next;
  }
  return prev;
}

Метод 2: рекурсивный подход

function reverseLinkedList(head) {
  if (head === null || head.next === null) {
    return head;
  }
  let reversedList = reverseLinkedList(head.next);
  head.next.next = head;
  head.next = null;
  return reversedList;
}

Метод 3. Реверс на месте с помощью трех указателей

function reverseLinkedList(head) {
  let prev = null;
  let current = head;
  let next = null;
  while (current !== null) {
    next = current.next;
    current.next = prev;
    prev = current;
    current = next;
  }
  return prev;
}