您的位置:首页 > 其它

树的子结构

2016-04-02 22:19 393 查看

题目描述

输入两颗二叉树A,B,判断B是不是A的子结构。

class Solution {
public:

bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2)
{
bool result= false;
if(pRoot1!=NULL&&pRoot2!=NULL){
if(pRoot2->val == pRoot2->val)
result=equal(pRoot1,pRoot2);
if(!result)
result=equal(pRoot1->left,pRoot2);
if(!result)
result=equal(pRoot1->right,pRoot2);
}
return result;
}
bool equal(TreeNode* pa,TreeNode* pb)
{
if(pb==NULL)
return true;
if(pa==NULL)
return false;
if(pa->val!=pb->val)
return false;
return equal(pa->left,pb->left)&&equal(pa->right,pb->right);
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: