gpt4 book ai didi

c++ - 从递归函数返回值

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

另一个递归问题,抱歉我无法解决这个问题。我试图返回一个节点指针,其 id 与提供的 id 匹配。我想我正在正确地遍历树。有什么我在这里出错的想法吗?

//h
Node* findNode(const QString &id, Node *node=NULL)

//cpp
Node* Tree::findNode(const QString &id, Node *node)
{
if (node == NULL)
node = root;

for(int i = 0, end = node ? node->childCount() : -1; i < end ; i++)
{
QString nodeId = node->child(i)->id();

if (nodeId == id)
{
return node;
}
else
{
return findNode(id, node->child(i));
}
}
}

感谢收看

最佳答案

else 中,只有在找到某些内容时才返回递归调用的值。否则,您将永远无法通过 i=0

关于c++ - 从递归函数返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17896089/

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