另一个递归问题,对不起,我无法理解这一点。我试图返回一个节点指针,其 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));
}
}
}
感谢您的关注