www

导航

树的子结构

    bool helper(TreeNode *root1, TreeNode *root2)
    {
        if(root2==nullptr)
            return true;
        if(root1==nullptr)
            return false;
        if(root1->val==root2->val)
        {
            return helper(root1->left, root2->left)&&helper(root1->right, root2->right);
        }
        else
        {
            return false;
        }
    }
    bool HasSubtree(TreeNode* root1, TreeNode* root2)
    {
        bool result=false;
        if(root1!=nullptr && root2!=nullptr)
        {
            if(root1->val==root2->val)
                result=helper(root1, root2);
            if(!result)
                result=HasSubtree(root1->left, root2);
            if(!result)
                result=HasSubtree(root1->right, root2);
        }
        return result;
    }

 

posted on 2017-09-22 16:38  www_practice  阅读(153)  评论(0编辑  收藏  举报