こんにちは、n-ary ツリーを検索するためのこのコードがありますが、正しく動作しません。n4 と n5 を検索すると、n3 が返されます。何が問題なのですか?
public FamilyNode findNodeByName(FamilyNode nodeName ){
if(this.name.equals(nodeName.name)){
// We found a node named nodeName, return it
return this;
}
// That's not me that you are looking for, let's see my kids
for(FamilyNode child : this.children){
if(child.findNodeByName(nodeName) != null)
return child;
// We found what we are looking, just return from here
// return child;
}
// Finished looping over all nodes and did not find any, return null
return null;
}