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);
}
相关推荐
代码飞天7 分钟前
算法与数据结构之又臭又长的表
数据结构·算法
A923A12 分钟前
【洛谷刷题 | 第七天】
算法·模拟·洛谷
故事和你9112 分钟前
洛谷-入门4-数组3
开发语言·数据结构·c++·算法·动态规划·图论
玉树临风ives17 分钟前
atcoder ABC 451 题解
c++·算法·atcoder
_日拱一卒17 分钟前
LeetCode:和为K的子数组
算法·leetcode·职场和发展
周可温84120 分钟前
动手学RAG
算法
周可温84122 分钟前
Transformer 深度理解与动手实现
算法
扶摇接北海17626 分钟前
洛谷:B4488 [语言月赛 202602] 甜品食用
数据结构·c++·算法
直有两条腿30 分钟前
【机器学习】K-Means 算法
算法·机器学习·kmeans
A923A30 分钟前
【洛谷刷题 | 第十天】
算法·洛谷·sprintf·sscanf