【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);
}
相关推荐
tung tung tung sahur13 分钟前
领略 Rust 抽象之美:自定义迭代器实现全解析
开发语言·后端·rust
ftpeak19 分钟前
《Rust MP4视频技术开发》第八章:生成MP4
开发语言·rust·音视频·mp4
程序猿小蒜34 分钟前
基于springboot的校园社团信息管理系统开发与设计
java·前端·spring boot·后端·spring
兔兔爱学习兔兔爱学习36 分钟前
Spring Al学习9:模型上下文协议(MCP)
java·学习·spring
m0_7482480238 分钟前
Spring MVC中@RequestMapping注解的全面解析
java·spring·mvc
Mos_x39 分钟前
28.<Spring博客系统⑤(部署的整个过程
java·后端
爱淋雨的鼬先生39 分钟前
SpringBoot 概述
java·spring boot·后端
好学且牛逼的马41 分钟前
【SSM框架 | day25 spring IOC 与 DI 注解开发】
java·开发语言
shepherd12644 分钟前
破局延时任务(下):Spring Boot + DelayQueue 优雅实现分布式延时队列(实战篇)
java·spring boot·分布式
NEFU AB-IN1 小时前
Prompt Gen Desktop 管理和迭代你的 Prompt!
java·jvm·prompt