/*
18 判断树的子结构:
*/
bool DoseTree1HasTree2(BinTree* root1, BinTree* root2)
{
if (root2 == NULL)
return true;
if (root1 == NULL)
return false;
if (root1->m_nValue != root2->m_nValue)
return false;
return DoseTree1HasTree2(root1->m_pLeft, root2->m_pLeft) && DoseTree1HasTree2(root1->m_pRight, root2->m_pRight);
}
bool HasSubTree(BinTree* root1, BinTree* root2)
{
bool res = false;
if (root1 != NULL && root2 != NULL)
{
if (root1->m_nValue == root2->m_nValue)
res = DoseTree1HasTree2(root1, root2);
if (!res)
HasSubTree(root1->m_pLeft, root2);
if (!res)
HasSubTree(root1->m_pRight, root2);
}
return res;
}
树的子结构
最新推荐文章于 2020-05-12 17:06:50 发布