我必须在二叉树中实现字符串搜索方法。它将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);
}
}
答案 0 :(得分:0)
代码中的明显错误:对search()
的递归调用在非空时不返回实例,因为递归调用必须递归返回。这意味着除非root是搜索节点,否则将返回NULL。