데이터 구조와 재귀 개념이 생소했습니다. 왜이 개념에서 재귀를 사용할 수 있었는지 이해하기 위해 고심하고 있습니다. 나는이 포럼을이 포럼에서 발견했기 때문에 나는 이것의 개념을 정말로 이해할 수 없었다. 어떤 사람이 반복 단계를 설명 할 수 있다면 간단하게 2 1 3 4의 경우, 그것은 내 대신에 크게 평가 될 것입니다. https://www.hackerrank.com/challenges/insert-a-node-into-a-sorted-doubly-linked-list정렬 된 이중 연결 목록 삽입 재귀
Node SortedInsert(Node head,int data) {
Node n = new Node();
n.data = data;
if (head == null) {
return n;
}
else if (data <= head.data) {
n.next = head;
head.prev = n;
return n;
}
else {
Node rest = SortedInsert(head.next, data);
head.next = rest;
rest.prev = head;
return head;
}
}
이 코드를 지우고 결코 다시 방문하지 마십시오. 이것은 미친 것처럼 누출되어 긴 목록에서 스택 오버플로가 발생할 위험이 있습니다. –
애드리안에게 감사드립니다. 귀하의 답변에 감사드립니다. – Kay