Idea

用深度优先搜索,
若以当前结点为根节点的树跟子树相等,那么就要满足一下条件

  1. 当前结点的值相等
  2. 递归左树的左孩子,右树的左孩子
  3. 递归左树的右孩子,右树的右孩子。

然后在主函数中需要递归遍历左树中的每一个节点

AC Code

class Solution {public:bool dfs(TreeNode* root,TreeNode* subRoot){if(!root && !subRoot) return true;if(!root || !subRoot) return false;return root->val == subRoot->val && dfs(root->left,subRoot->left) && dfs(root->right,subRoot->right);}bool isSubtree(TreeNode* root, TreeNode* subRoot) {if(!root && !subRoot) return true;if(!root || !subRoot) return false;return isSubtree(root->left,subRoot) || isSubtree(root->right,subRoot) || dfs(root,subRoot); }
};

力扣-572. 另一棵树的子树相关推荐

  1. 力扣572. 另一棵树的子树(JavaScript)

    //找到相等的头节点 var isSubtree = function(s,t) {if(t==null){return true}if(s==null){return false}return is ...

  2. 【力扣】另一棵树的子树

    572. 另一棵树的子树 - 力扣(LeetCode) 题目: 给你两棵二叉树 root 和 subRoot .检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树.如果存在,返回 ...

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

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

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

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

  5. 572. 另一棵树的子树

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

  6. 【刷题】572. 另一棵树的子树

    572. 另一棵树的子树 一.题目描述 二.示例 三.实现 572. 另一棵树的子树 一.题目描述 给你两棵二叉树 root 和 subRoot .检验 root 中是否包含和 subRoot 具有相 ...

  7. 572 另一棵树的子树

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

  8. 572.另一棵树的子树

    与T100很像 class Solution {public boolean isSubtree(TreeNode root, TreeNode subRoot) {if(root == null) ...

  9. LeetCode另一棵树的子树

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

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

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

最新文章

  1. Cell子刊:微生物组学研究的突破与瓶颈
  2. 【中继协助频谱切换】基于中继协助的频谱切换机制的MATLAB仿真
  3. Jpg, Jpeg, Exif
  4. html5 获取多媒体,基于HTML5的多媒体支持
  5. supersocket缓冲区_supersockets接收过滤器(ReceiveFilter)
  6. HDU 1430 魔板(康托展开+BFS+预处理)
  7. 有几个人会用计算机,怎么知道我家的wifi有几个人在使用
  8. Windows编程初步(一)
  9. raid硬盘序列号_磁盘阵列出现坏盘,如何正确更换硬盘?
  10. 【Codeforces Round #452 (Div. 2) B】Months and Years
  11. 干货 | Github标星近3w,热榜第一,如何用Python实现所有算法和一些神经网络模型...
  12. oracle如何禁用索引,oracle 禁用索引
  13. 非线性微分方程的线性化
  14. codevs 1535 封锁阳光大学
  15. 什么是mx记录?如何设置域名mx记录?
  16. FrameMaker 格式的本地化流程(续1)
  17. 7-7 阿泽的交友标准 (10 分)
  18. 拼多多商家如何虚假发货的情况出现?
  19. 需要近期熟悉的表_2019_3_18
  20. python练习题 11-20

热门文章

  1. Vue.js 源码分析(十七) 指令篇 v-if、v-else-if和v-else 指令详解
  2. 【搜索-剪枝-偏难】PAT-天梯赛-L3-015. 球队“食物链”
  3. css3兼容IE8的方案 各个ie的hack
  4. [科普]关于文件头的那些事
  5. Java开发中的23种设计模式
  6. vip会员统计表 (vip等级是灵活配置的 非写死1是金卡用户 2是什么 等)
  7. AOP 你想干什么 IOC 你服务什么
  8. 【超级综述】BERT、GPT-3们有了新名字:Percy Liang、李飞飞等发布200多页综述,阐述大模型机遇与风险...
  9. 【GNN综述】图神经网络的解释性综述
  10. [CLS]预训练语言模型的前世今生[SEP]萌芽时代[SEP]