Я пытаюсь изменить список, но хочу сохранить свой первоначальный список. Моя функция обратного не сохраняет первоначальный списокобратный список без удаления начального списка
Например, я хочу, чтобы изменить это:
Node n = new Node(1,new Node(12, new Node(34, new Node(3, Node.NIL))));
и моя функция:
public Node reverse(){
Node p= this;
if(p == NIL)
return Node.NIL;
if(p.n == Node.NIL)
return p;
Node rest = p.getNext();
p.setNext(Node.NIL);
Node reverseRest = rest.reverse();
rest.setNext(p);
return reverseRest;
}
Длина моего старого списка после реверса равно 1, и я хочу, чтобы для этого примера было 4. Мой старый и мой новый список должен иметь одинаковую длину после обратного.
@ AntonH мой новый список в порядке, проблема в моем старом списке .my функция рекурсивна –
Показать класс 'Node'. Что такое 'p.n'? Это то же самое, что и для 'p.getNext()'? –
@DavidChoweller вы можете видеть это выше –