递归获取子节点
Node* HelloWorld::seekFromRootByName(Node* root, std::string& name)
{
if (!root)
return nullptr;
if (root->getName() == name)
return root;
const auto& arrayNode = root->getChildren();
for (auto& child : arrayNode)
{
Node* pNode = dynamic_cast<Node*>(child);
if (pNode)
{
Node* res = seekFromRootByName(pNode, name);
if (res)
return res;
}
}
return nullptr;
}在循环体中尽量少用这个方法,原因程序猿都知道
本文介绍了一个递归函数,用于从给定的根节点开始,在树形结构中查找具有指定名称的节点。通过遍历所有子节点及其后代来实现这一目标,并提供了一段C++样例代码。注意该方法在循环体内频繁调用可能会降低效率。
928

被折叠的 条评论
为什么被折叠?



