最近在看二叉树的时候会突然想到,如果知道二叉树的结构,以及二叉树的结构。现在知道树中内节点的指针,怎么查找到从根到节点的路径呢?
看到网上大体有两种方法,一种是递归的方法,另外一种是非递归的方法。
方法一:递归二叉树 出自:http://blog.csdn.net/hhygcy/article/details/4660362
bool nodePath (bstNode* pRoot, int value, std::vector<bstNode*>& path)
{
if (pRoot==NULL) return false;
if (pRoot->data!=value)
{
if (nodePath(pRoot->pLeft,value,path))
{
path.push_back(pRoot);
return true;
}
else
{
if (nodePath(pRoot->pRight,value,path))
{
path.push_back(pRoot);
return true;
}
else
return false;
}
}
else
{