二叉树搜索字符串 C++

binary tree search for string c++

我必须在二叉树中实现字符串搜索方法。它以 node* 作为输入,并再次输出 node*。

问题是由于一些指针异常导致它不能正常工作,它给了我错误。

如果我在某些时候不清楚,请告诉我。

提前致谢

-var-create: unable to create variable object error

zoo_tree::node* tree_tools::search(zoo_tree::node* from,string animal) {
if (from != NULL) {
    if (from->question == animal) {
        return from;
    }
    if (from->question != animal) {
        search(from->left, animal);
        search(from->right, animal);

    }
}
return NULL;

}

但是,上面的代码有效,有什么区别?

zoo_tree::node* tree_tools::search(zoo_tree::node* from,string animal) {

if (from == NULL)
    return NULL;

if (from->question == animal)
    return from;

if (from->question != animal)
{
    search(from->left, animal);
    search(from->right, animal);
}

}

您的代码中存在明显错误:对 search() 的递归调用不会 return 不为空的实例,因为递归调用必须递归地 return。这意味着除非根是搜索到的节点,否则 NULL 将被 returned.