Я пытаюсь использовать предварительный обход для поиска узла в двоичном дереве, состоящем из символов az и AZ, где влево обозначается как «0» и право на право помечено как «1», так что правильный вывод будет выглядеть как «00» для узла, который имеет две ветви слева. Узлы не отсортированы.Печать определенного пути к узлу в двоичном дереве
До сих пор у меня есть это:
static String routeNum = "";
private static String onePath(BinaryNodeInterface<Character> root, String route) {
BinaryNodeInterface<Character> temp = root;
if(temp != null){
if(temp.hasLeftChild()){
routeNum = onePath(temp.getLeftChild(),route+"0");
}
if(temp.hasRightChild()){
routeNum = onePath(temp.getRightChild(), route+"1");
}
}
System.out.print(route);
return route;
}
Выход указывает на то, что я получаю до нужных узлов, но не печатает путь.
Вы должны назвать System.out.println() или там _won't_ быть любой выход. – splrs
'routeNum = route +" 0 "; onePath (temp.getLeftChild(), route + "0"); ' ' routeNum = route + "1"; \t onePath (temp.getRightChild(), route + "1"); '. Чистый способ сделать это - использовать StringBuffer – arunmoezhi