问题描述
我创建了一个名为pathTo的方法,该方法返回用于查找字符串x的路径的字符串。方法如下:
string BinarySearchTree::pathTo(BinaryNode* n,const string& x) const
{
if (n == NULL)
{
return "";
}
if (n->value == x)
return x;
if (x.compare(n->value) < 1)
return n->value + " " + pathTo(n->left,x);
else
return n->value +" " + pathTo(n->right,x);
return x;
}
尽管上面的示例有效,但是当我通过首先检查右侧而不是左侧来更改最后一个if else语句时,上面的示例不起作用:
if (x.compare(n->value) > 1)
return n->value + " " + pathTo(n->right,x);
else
return n->value +" " + pathTo(n->left,x);
这提供了我困惑的错误路径。为什么需要首先检查左侧?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)