在Java中将二叉树节点的所有祖先追加到字符串
我正在用Java编写一个使用二叉树的家族树程序。祖先方法从另一个类调用,并调用findAncestors递归运行,以将所有祖先附加到输出字符串。我在树上添加了父指针,希望能更容易地找到所有祖先 我使用的locate方法在树中搜索传递的字符串,并返回它所在的节点 我目前遇到的问题是,该方法只返回直接父节点,而不是返回节点的所有祖先在Java中将二叉树节点的所有祖先追加到字符串,java,binary-tree,Java,Binary Tree,我正在用Java编写一个使用二叉树的家族树程序。祖先方法从另一个类调用,并调用findAncestors递归运行,以将所有祖先附加到输出字符串。我在树上添加了父指针,希望能更容易地找到所有祖先 我使用的locate方法在树中搜索传递的字符串,并返回它所在的节点 我目前遇到的问题是,该方法只返回直接父节点,而不是返回节点的所有祖先 public String ancestors(String x) { String outputString = ""; if (locate
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;
}
不能将该字符串作为更改参数b通过,因为它是不可变的。 尝试:
return findAncestors(x.parent,outputString);
呸,你说得对!我没注意到那正盯着我的脸。谢谢