二叉树OJ题——9.另一棵树的子树

发布时间:2023年12月26日

572. 另一棵树的子树 - 力扣(LeetCode)


?

?

/*
解题思路:
判断t是否为s的子树,需要判断t是否和s的某一个子树相同,所以此题就是判断两棵树是否相同的逻辑。
*/
bool isSameTree(struct TreeNode* p, struct TreeNode* q) 
{
     if(p==NULL&&q==NULL)
     {
         return true;
     }
    if(p==NULL||q==NULL)
    {
        return false;
    }
    if(p->val!=q->val)
    {
        return false;
    }
    else
    {
    return isSameTree(p->left,q->left)&&isSameTree(p->right,q->right);
    }
}

bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot)
{
    if(root==NULL)
    {
        return false;
    }

    if(root->val==subRoot->val)
    {
        if(isSameTree(root, subRoot))
        {
            return true;
        }
    }
    return isSubtree(root->left, subRoot)||isSubtree(root->right, subRoot);

}

?

文章来源:https://blog.csdn.net/2301_76653277/article/details/135228107
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。