【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);
}
相关推荐
山土成旧客8 小时前
【Python学习打卡-Day26】函数的艺术(上):从基础定义到参数魔法
开发语言·python·学习
Coder_Boy_8 小时前
【人工智能应用技术】-基础实战-小程序应用(基于springAI+百度语音技术)智能语音控制-Java部分核心逻辑
java·开发语言·人工智能·单片机
MACKEI8 小时前
业务域名验证文件添加操作手册
java·开发语言
roman_日积跬步-终至千里8 小时前
【源码分析】StarRocks EditLog 写入与 Replay 完整流程分析
java·网络·python
apihz8 小时前
货币汇率换算免费API接口(每日更新汇率)
android·java·开发语言
Web极客码8 小时前
如何选择最适合的内容管理系统(CMS)?
java·数据库·算法
gf13211118 小时前
python_检测音频人声片段
开发语言·python·音视频
爱笑的眼睛118 小时前
Flask上下文API:从并发陷阱到架构原理解析
java·人工智能·python·ai
asdfg12589639 小时前
数组去重(JS)
java·前端·javascript
子木鑫9 小时前
【练习】循环
c语言