剑指Offer(17)______树的子结构

来源:互联网 发布:linux给其他用户权限 编辑:程序博客网 时间:2024/06/04 22:26

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)


class Solution {public:         bool isSubtree(TreeNode* pRoot1, TreeNode* pRoot2){                 if(pRoot2 == NULL) return true;        if(pRoot1 == NULL) return false;                 if(pRoot1->val == pRoot2->val){            return isSubtree(pRoot1->left,pRoot2->left) && isSubtree(pRoot1->right,pRoot2->right);        }        return false;    }         bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2)    {        if(pRoot1 == NULL || pRoot2 == NULL) return false;           //鲁棒性:判断树为空        if(isSubtree(pRoot1,pRoot2))return true;        return HasSubtree(pRoot1->left,pRoot2) || HasSubtree(pRoot1->right,pRoot2);    }};




0 0
原创粉丝点击