本文主要是介绍查找二叉树A中是否有子树B,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
//查找二叉树A中是否有子树B
bool HashSubtree(BinaryTreeNode* pRoot1,BinaryTreeNode* pRoot2)
{bool result=false;if(pRoot1!=NULL&&pRoot2!=NULL){if(pRoot1->m_nValue==pRoot2->m_nValue)result=DoesTreeHaveTree2(pRoot1,pRoot2);if(!result)result=HashSubtree(pRoot1->m_pLeft,pRoot2);if(!result)result=HashSubtree(pRoot1->m_pReft,pRoot2);}return result;
}bool DoesTreeHaveTree2(BinaryTreeNode* pRoot1,BinaryTreeNode* pRoot2)
{if(pRoot2==NULL)return true;if(pRoot1==NULL)return false;if(pRoot1->m_nValue!=pRoot2->m_nValue)return false;return DoesTreeHaveTree2(pRoot1->m_pLeft,pRoot2->m_pLeft)&&DoesTreeHaveTree2(pRoot1->m_pReft,pRoot2->m_RLeft)
}
这篇关于查找二叉树A中是否有子树B的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!