【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);
}
相关推荐
异常君1 分钟前
Elasticsearch 集群滚动升级实战 - 保障业务零停机
java·elasticsearch
懷淰メ22 分钟前
python3GUI--基于PyQt5+DeepSort+YOLOv8智能人员入侵检测系统(详细图文介绍)
开发语言·深度学习·yolo·目标检测·pyqt·课程设计·deepsort
whoarethenext28 分钟前
使用 C/C++ 和 OpenCV 进行模板匹配
c语言·c++·opencv
我想睡觉26136 分钟前
Python训练营打卡DAY51
开发语言·人工智能·python·深度学习·机器学习
异常君41 分钟前
FST 在 Elasticsearch 中的核心应用与性能优化实践
java·elasticsearch·性能优化
周某某~43 分钟前
六.原型模式
java·设计模式·原型模式
异常君1 小时前
通过 Elasticsearch 实现分布式事务的可靠方案
java·分布式·elasticsearch
yutian06061 小时前
C# TextBox 控件限制输入字符为十六进制字符串
开发语言·c#
猛犸MAMMOTH1 小时前
Python打卡第51天
开发语言·python·深度学习
小安同学iter1 小时前
JUC并发编程(四)常见模式
java·开发语言