二叉树搜索字符串 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.
我必须在二叉树中实现字符串搜索方法。它以 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.