LeetCode | 572. 另一棵树的子树

LeetCode | 572. 另一棵树的子树

OJ链接

  • 我们需要判断两棵二叉树是否相同,如果再判断的的时候不同我们就直接返回false,否则就返回true
  • 然后再检查左子树和右子树里面是否存在subRoot子树~~
c 复制代码
bool isSameTree(struct TreeNode* q, struct TreeNode* p)
{
    if(q == NULL && p == NULL)
        return true;
    if(q == NULL || p == NULL)
        return  false;
    if(q->val != p->val)
        return false;
    return isSameTree(q->left,p->left)
        && isSameTree(q->right,p->right);
}

bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot){
    if(root == NULL)
        return NULL;
    
    if(isSameTree(root,subRoot))
        return true;
    
    return isSubtree(root->left,subRoot)
        || isSubtree(root->right,subRoot);
}
相关推荐
San813_LDD1 小时前
[数据结构]LeetCode学习
数据结构·算法·图论
x138702859571 小时前
c语言排雷游戏(基础版9*9)
c语言·算法·游戏
sheeta19982 小时前
LeetCode 每日一题笔记 日期:2026.06.06 题目:2196. 根据描述创建二叉树
笔记·算法·leetcode
小欣加油2 小时前
leetcode994 腐烂的橘子
数据结构·c++·算法·leetcode·bfs
QuZero3 小时前
Guava Cache Deep Dive
java·后端·算法·guava
随意起个昵称3 小时前
线性dp-LIS题目4(A Twisty Movement)
算法·动态规划
Felven3 小时前
B. Fair Numbers
数据结构·算法
人道领域3 小时前
【LeetCode刷题日记】93.复原IP地址
java·开发语言·算法·leetcode
jarreyer3 小时前
【算法记录1】模型训练问题
算法