【C语言题解】 | 572. 另一棵树的子树

572. 另一棵树的子树

  • [572. 另一棵树的子树](#572. 另一棵树的子树)
  • 代码

572. 另一棵树的子树

c 复制代码

该题目需要判断一二叉树是否为另一二叉树的子树

像此类,就不算是root的子树

c 复制代码

此题的思路为:

传入subRoot ,与root 相比较,判断二者是否相同

若与root不相同,则仍需与root的子树进行相比较,直至比较完。

(判断是否二叉树是否相同可参考相同的树)

代码

c 复制代码
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;
    }

    return  isSameTree(p->left,q->left) && isSameTree(p->right,q->right);
}

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

    return isSameTree(root,subRoot)
        || isSubtree(root->left,subRoot)
        || isSubtree(root->right,subRoot);
}
相关推荐
我真会写代码15 分钟前
深入理解JVM GC:触发机制、OOM关联及核心垃圾回收算法
java·jvm·架构
本喵是FW22 分钟前
C语言手记1
java·c语言·算法
码云数智-园园24 分钟前
2026 年前端开发趋势:AI 赋能、组件化与跨端一体化的深度融合
开发语言
weixin_4235339928 分钟前
windows11安装飞桨paddlepaddle,python3.13
开发语言
2501_9249526930 分钟前
嵌入式C++电源管理
开发语言·c++·算法
洛阳泰山30 分钟前
MaxKB4j Docker Compose 部署指南
java·docker·llm·springboot·rag·maxkb4j
2401_8426236535 分钟前
C++中的访问者模式高级应用
开发语言·c++·算法
森林里的程序猿猿1 小时前
垃圾收集器G1和ZGC
java·jvm·算法
weixin_404157681 小时前
Java高级面试与工程实践问题集(五)
java·开发语言·面试
fengci.1 小时前
ctfshow(web入门)295-300
java·开发语言·学习