gpt4 book ai didi

java - 从文本文件创建树

转载 作者:太空宇宙 更新时间:2023-11-04 13:20:27 24 4
gpt4 key购买 nike

我有这样的文件:

x1 root
x2 root
x3 x1
x4 x3

所以我需要得到:

root - x1 - x3 - x4
root - x2

语言是Java
所以我认为我需要使用递归,对吗?

已添加
所以我尝试自己做。该代码可以工作,但并不出色

private void findTree(List<String> lines, String item, GenericTreeNode<String> parent, int i){
if(i >= lines.size()){
try{
findTree(lines, parent.getParent().getData(), parent.getParent(), 0);
}catch(Exception ex){
print(tree.toStringWithDepth());
}
}
else if(lines.get(i).split(" ")[1].trim().equals(item)){
item = lines.get(i).split(" ")[0];
GenericTreeNode<String> child = new GenericTreeNode<String>(item);
parent.addChild(child);
lines.remove(i);
findTree(lines, item, child, 0);
}else if(item == "XXXXX"){
print (tree.toStringWithDepth());
}else if(i!=(lines.size()-1)){
findTree(lines, item, parent, i+1);
}else{
findTree(lines, parent.getParent().getData(), parent.getParent(), 0);
}
}

“XXXXX”是我树的根。

最佳答案

不,您不必使用递归来解决这个问题。您可以通过迭代解决方案来解决这个问题

例如,您可以使用列表列表结构。 (在每次找到根时创建一个列表)

关于java - 从文本文件创建树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33109636/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com