【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);
}
相关推荐
superman超哥10 分钟前
Rust 内部可变性模式:突破借用规则的受控机制
开发语言·后端·rust·rust内部可变性·借用规则·受控机制
豆沙沙包?16 分钟前
2026年--Lc329-735. 小行星碰撞(栈)--java版
java·开发语言
weibkreuz21 分钟前
收集表单数据@10
开发语言·前端·javascript
灵哎惹,凌沃敏34 分钟前
FreeRTOS 任务上下文切换核心函数:xPortPendSVHandler详解
c语言·arm开发
爆更小哇34 分钟前
Selenium自动化测试函数全解析(二)
java·selenium·测试工具·自动化
C雨后彩虹34 分钟前
计算误码率
java·数据结构·算法·华为·面试
fanruitian38 分钟前
Springboot项目父子工程
java·数据库·spring boot
小肖爱笑不爱笑43 分钟前
SpringBoot Web
java·http协议·分层解耦·web后端
柒.梧.1 小时前
Spring核心知识全解析:从入门实战到进阶
java·后端·spring
乌日尼乐1 小时前
【Java基础整理】Java字符串处理,String、StringBuffer、StringBuilder
java·后端