Разворот односвязного списка

Рейтинг: 1Ответов: 1Опубликовано: 13.03.2023

Написал метод разворота односвязного списка. Метод работает неверно, выдавая только одно значение не в правильном порядке. Подскажите где ошибка?

public void reverse(){

    Node currNode = head;
    Node prevNode = null;

    while (currNode != null){
        Node next = currNode.next;
        currNode.next = prevNode;

        prevNode = currNode;
        currNode = next;
      }

    }

Ответы

▲ 1Принят

ОБновите ваш head как то так

public void reverse(){
    Node currNode = head;
    Node prevNode = null;

    while (currNode != null){
        Node next = currNode.next;
        currNode.next = prevNode;

        prevNode = currNode;
        currNode = next;
    }

    head = prevNode;
}