Чтобы перевернуть связанный список в 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;
}