二叉树搜索字符串c ++

时间:2016-12-02 14:27:29

标签: c++ recursion binary-tree binary-search-tree

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

问题是它由于一些指针异常而无法正常工作,它给了我错误。

如果我不清楚,请告诉我。

提前谢谢

  

-var-create:无法创建变量对象错误

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);
}

}

1 个答案:

答案 0 :(得分:0)

代码中的明显错误:对search()的递归调用在非空时不返回实例,因为递归调用必须递归返回。这意味着除非root是搜索节点,否则将返回NULL。