목록을 뒤집어 쓰려고하지만 초기 목록을 유지하고 싶습니다. 내 기능 역은 내가이 역 할 예를 들어 초기 목록초기 목록을 삭제하지 않고 목록을 뒤집습니다.
을 유지하지 않습니다
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 위로 볼 수 있습니다 –