gpt4 book ai didi

java - 如何在非二叉树中查找特定节点?

转载 作者:行者123 更新时间:2023-11-29 07:37:56 24 4
gpt4 key购买 nike

我有一棵包含多个节点的树。每个节点都有一个父节点(或在根的情况下为null)、一个名称(name)和一个将子节点的名称映射到子节点对象的HashTable(children)。

给定节点的字符串名称,我想创建一个遍历树以查找特定节点并将其返回的方法。如果该节点不存在则返回 null。

我认为递归方法是最好的。到目前为止我有这个:

public Node findNode(Node n, String s) {
if (n.name == s) {
return n;
} else {
for (Node child: n.children.values()) {
findNode(child, s);
}
}
}

我不确定将 null 语句放在哪里。

最佳答案

如果 child 有,则归还。如果不是,则返回 null

public Node findNode(Node n, String s) {
if (n.name == s) {
return n;
} else {
for (Node child: n.children.values()) {
Node result = findNode(child, s);
if (result != null) {
return result;
}
}
}
return null;
}

关于java - 如何在非二叉树中查找特定节点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33429359/

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