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);
}
相关推荐
拉拉拉拉拉拉拉马6 小时前
Windsurf 最新版进阶讲解:从 Cascade 到 Devin Local,重新理解 AI 编程工作流
人工智能·算法
Mr_pyx6 小时前
面试题记录
jvm·数据结构·算法·spring·mybatis
zzzsde6 小时前
【Linux】线程同步和互斥(1):线程互斥与加锁实现
linux·运维·服务器·开发语言·算法
努力努力再努力wz6 小时前
【C++高阶数据结构系列】:时间轮定时器详解:原理分析与代码实现,带你从零手撕时间轮!(附时间轮的实现源码)
c语言·开发语言·数据结构·c++·qt·算法·ui
mmz12076 小时前
广搜题目练习(c++)
c++·算法
YuanDaima20486 小时前
贪心算法基础原理与题目说明
数据结构·人工智能·python·算法·贪心算法·手撕代码
NashSKY6 小时前
波束成形MVDR (最小方差无失真响应) 算法数学原理解析
算法·矩阵
人道领域7 小时前
【LeetCode刷题日记】513.二叉树左下角值的三种解法:从常规BFS到DFS的优雅之旅
数据结构·算法·leetcode·深度优先·广度优先
小哈蒙德7 小时前
基于deepSeekV4Pro(thinking)研究pointPillar的历程
python·算法
兰令水7 小时前
topcode【随机算法题】【2026.5.16打卡-java版本】
java·数据结构·算法