【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);
}
相关推荐
码路飞13 分钟前
不装 OpenClaw,我用 30 行 Python 搞了个 QQ AI 机器人
java
Re_zero20 分钟前
以为用了 try-with-resources 就稳了?这三个底层漏洞让TCP双向通讯直接卡死
java·后端
SimonKing33 分钟前
Fiddler抓包完全指南:从安装配置到抓包,一文讲透
java·后端·程序员
磊磊落落2 小时前
如何将 Spring Statemachine 作为一个轻量级工作流引擎来使用?
java
兆子龙16 小时前
ahooks useRequest 深度解析:一个 Hook 搞定所有请求
java·javascript
兆子龙16 小时前
React Suspense 从入门到实战:让异步加载更优雅
java·javascript
咕白m62518 小时前
Java 实现 Excel 转 HTML:完整示例
java
RealPluto19 小时前
Spring AOP 失效排查
java·spring
码路飞19 小时前
热榜全是 OpenClaw,但我用 50 行 Python 就造了个桌面 AI Agent 🤖
java·javascript