我创建了一个 TreeNode 类,它包含一个树节点(命名分支)的 ArrayList,我想通过用户输入的路径将新分支添加到树中。一个示例路径是 /Monkey/King/Bar,其中每个路径理想情况下都是现有分支,最后一个除外(Bar 将是我想添加到 King 的分支)。Temp 是一个全局变量,我用于将新分支添加到树中,并且通过递归,我试图沿着路径向下移动,以验证每个分支是前一个分支的子分支,但我在让它工作时遇到了一些麻烦。这是我到目前为止所拥有的,并且想知道当我重新声明临时 TreeNode 时它是否与不设置父级有关。任何帮助将不胜感激,如果我所说的任何内容过于模糊,请要求澄清。
TreeNode tree = root;
boolean valid = false;
String y = x; //User entered path
for (int i = 0; i < x.length(); i++)
{
if (x.charAt(i) == '/')
{
for (int j = 0; j < tree.branch.size(); j++){
if (tree.branch.get(j).toString().equals(y)){
System.out.println(temp.value);
tree = tree.branch.get(j);
temp = tree;
valid = true;
}
else
valid = false;
}
y = "";
}