//6.15 公共祖先 结点
/*查找a,b的最近公共祖先,root为根节点,out为最近公共祖先的指针地址*/
int FindNCA(BiTree root, char a, char b, BiTree &out)
{
if( root == null )
{
return 0;
}
if( root -> data == a || root -> data == b )
{
return 1;
}
int iLeft = FindNCA(root -> lchild, a, b, out);
if( iLeft == 2 )
{
return 2;
}
int iRight = FindNCA(root -> rchild, a, b, out);
if( iRight == 2 )
{
return 2;
}
if( iLeft + iRight == 2 )
{
out = root;
}
return iLeft + iRight;
}
习题6.15查找二叉树结点公共祖先
最新推荐文章于 2021-05-24 01:39:05 发布