inorder 메서드에서 값을 가져온 다음 텍스트 파일에 저장해야합니다. 다음 코드에서 어떻게 구현할 수 있습니까? 반환 값을 사용하여 System.out.println 대신 텍스트 파일에 저장하기 위해 다른 write 메서드에 값을 반환하면 다음 root.getRight() 문으로 이동하지 않습니다. 어떤 도움이 필요합니까?inorder 이진 트리 메서드의 반환 값
private String inorder(TreeNode root) {
if(root.getLeft()!=null){
inorder(root.getLeft());
}
stringConcatenation += root.getData());
if(root.getRight()!=null){
inorder(root.getRight());
}
return stringConcatenation;
} // end of inorder()
트리에 요소가 두 개 이상있는 경우 완전히 반복됩니다. 가장 왼쪽으로 이동하여 System으로 인쇄 한 다음 오른쪽으로 이동 한 다음 재귀 적으로 다시 왼쪽으로 이동합니다. 단순히 첫 번째 요소 인쇄를 계속합니다. – CharlieS
@CharlieS : 아니요, 그렇지 않습니다. 재귀 호출에서 왼쪽 (또는 오른쪽)으로 이동하면 트리 아래로 더 멀리 이동합니다. –
그것은 왼쪽으로 돌아가는 모든 과정을 반복하고, 가장 왼쪽에있는 요소를 출력합니다. 그 다음에 오른쪽으로 돌아 간다. 재진입은 그것을 좌로 잡는다. 첫 번째 요소를 다시 인쇄 한 다음 오른쪽으로갑니다. 다시 들어가서 왼쪽으로 간다. 첫 번째 요소를 인쇄 한 다음 오른쪽으로 이동하고 다시 들어갑니다. ad infinitum – CharlieS