Я пишу программу генеалогического древа в Java, используя двоичное дерево. Метод ancestors вызывается из другого класса и вызывает findAncestors, чтобы запустить рекурсивно, чтобы добавить ВСЕ предков к выходной строке. Я добавил родительские указатели к моему дереву в надежде облегчить поиск всех предков.Добавление всех предков двоичного дерева в String в Java
Метод локации Я использую поиск дерева для переданной строки и возвращает узел, в котором он находится.
Проблема, с которой я в настоящее время сталкиваюсь, заключается в том, что метод возвращается только с прямым родителем вместо всех предков узла.
public String ancestors(String x)
{
String outputString = "";
if (locate(x).parent!=null)
outputString = findAncestors(locate(x),outputString);
return outputString;
}
private String findAncestors(Node x,String outputString)
{
if(x.parent != null)
{
outputString = outputString + String.valueOf(x.parent.value);
findAncestors(x.parent,outputString);
}
return outputString;
}
Ба, ты прав! Я пропустил это, глядя мне прямо в лицо. Благодарю. – BigGrizzle