572. 另一棵树的子树 - 力扣(LeetCode)

题目:

给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。

二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。

思路:

用先序遍历,当在树中遇到与subRoot值相等的酒店时,判断是否为同一颗树,如果是就则subRoot是另一棵树的子树

代码:

bool isSameTree(struct TreeNode* root, struct TreeNode* subRoot)
{if(root==NULL && subRoot == NULL){return true;}if(root==NULL){return false;}if(subRoot == NULL){return false;}if(root->val != subRoot->val){return false;}bool ret1 = isSameTree(root->left,subRoot->left);bool ret2 = isSameTree(root->right,subRoot->right);return ret1&&ret2;}
bool isSubtree(struct TreeNode* root, struct TreeNode* subRoot)
{   if(root == NULL && subRoot == NULL){return true;}if(root == NULL){return false;}if(root->val == subRoot->val)//值相等时看是否为同一个子树{if(isSameTree(root,subRoot)){return true;}}bool ret1 = isSubtree(root->left,subRoot);bool ret2 = isSubtree(root->right,subRoot);return ret1||ret2;}

【力扣】另一棵树的子树相关推荐

  1. day23【代码随想录】翻转二叉树、对称二叉树、相同的树、另一棵树的子树、完全二叉树的结点个数

    文章目录 前言 一.翻转二叉树(力扣226) 1.递归法 1.使用前序遍历 2.使用后序遍历 2.迭代法 1.层序遍历 二.对称二叉树(力扣101) 三.相同的树(力扣100) 四.另一棵树的子树(力 ...

  2. 14.相同的树另一棵树的子树检查子树二叉树中的列表(教你们使用相同的套路快速解决这四道题)

    一.相同的树 这道题是开胃菜的开始,使用递归进行解决 递归三部曲: 确定递归函数的参数和返回值 因为我们要比较的是两棵树是否相等,所以参数分别是两棵树的根节点,返回值为boolean类型,即两棵树是否 ...

  3. LeetCode Algorithm 572. 另一棵树的子树

    572. 另一棵树的子树 Ideas 首先想到的就是递归判断两棵树的每一个节点是否相等,那么就需要将subRoot跟root的每一个节点构成的子树判断是否相同. 递归判断相等的逻辑比较简单,首先当前两 ...

  4. 另一棵树的子树(LeetCode)

    给你两棵二叉树 root 和 subRoot .检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树.如果存在,返回 true :否则,返回 false . 二叉树 tree 的一 ...

  5. 572. 另一棵树的子树————简单

    目录 题目 解题思路 Code 运行结果 题目 572. 另一棵树的子树 给你两棵二叉树 root 和 subRoot .检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树.如果 ...

  6. 判断一棵树是否是另一棵树的子树(Java实现)

    前面一篇文章介绍了如何判断两棵树相等,思路就是遍历每个节点,然后判断是否均相等,需要用递归来实现.如果需要判断一棵树是另一棵树的子树,该怎么办呢?我们需要借助前面的思路,需要先判断两棵树相等,这里就是 ...

  7. LeetCode另一棵树的子树

    572. 另一棵树的子树 给你两棵二叉树 root 和 subRoot .检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树.如果存在,返回 true :否则,返回 false  ...

  8. 二叉树 判断一棵树是否是另一棵树的子树

    题目:判断判断一棵树是否是另一棵树的子树,子树的意思是只要包含了一个结点,就得包含这个结点下的所有节点.意思就是二叉树结点的值也要相等 如下图2就是1的子树 如果将第二颗树根节点右孩子data改为2 ...

  9. 572. 另一棵树的子树

    572. 另一棵树的子树 一.题目 二.参考代码 一.题目 给你两棵二叉树 root 和 subRoot .检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树.如果存在,返回 t ...

最新文章

  1. python 把2个列表或者2个元组转成字典
  2. 我收到的最佳编程建议
  3. 零基础Python培训入门 教你认识下这些基础内容
  4. python算法与数据结构-归并排序算法
  5. 《四世同堂》金句摘抄(九)
  6. static关键字 void和void指针 函数指针
  7. 09. 用两个栈实现队列
  8. 年薪35W+ 的程序员看过来!百万架构师第3期招生
  9. ios开发之商城类软件 - 框架构思
  10. C语言两位八段LED数码管的,简单共阳极数码管电路图大全(五款led数码管电路图详解)...
  11. java初级项目 小说_webmagic项目实战(爬小说网站)
  12. 上海java软件工程师的工资待遇
  13. 嵌入式电子钢琴游戏开发设计
  14. 数据仓库(三)之架构篇
  15. 投简历的格式(第一分简历)
  16. 加速度计和陀螺仪原理
  17. 三极管 vs MOS管 | PMOS与NMOS
  18. S7-200SMART PLC中书签和交叉引用的具体使用方法示例
  19. ThinkPHP55.1验证码的使用及点击刷新
  20. 非递归遍历二叉树实现和理解

热门文章

  1. 知道这5个隐藏资源网站的人非常少,难怪总是找不到资源!
  2. 计算机管理里没有guest,w10共享时没有guest怎么设置_w10共享时看不到guest如何恢复...
  3. 东方木网吧上网遇到难题:网吧浏览器总是自动刷新
  4. 【开发工具】Windows触摸板操作
  5. java,给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
  6. 2008.06.01 读华为前执行副总裁李玉琢的《我与商业领袖的合作与冲突》有感(二)
  7. integral函数Opencv源码理解-leetcode动态规划的使用场景
  8. java怎么延时_java怎么实现延时
  9. android开发实例便签,Android便签应用
  10. 读后感___之大师德鲁克