树的子结构

描述

  输入两棵二叉树A,B,判断B是不是A的子结构。(我们约定空树不是任意一个树的子结构)

  假如给定A为{8,8,7,9,2,#,#,#,#,4,7},B为{8,9,2},2个树的结构如下,可以看出B是A的子结构

数据范围:

0 <= A的节点个数 <= 10000

0 <= B的节点个数 <= 10000

示例1

输入:
{8,8,7,9,2,#,#,#,#,4,7},{8,9,2}
返回值:
true

示例2

输入:
{1,2,3,4,5},{2,4}
返回值:
true

示例3

输入:
{1,2,3},{3,1}
返回值:
false

源代码

/*
struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}
};*/
class Solution {bool isSubtree(TreeNode* pRoot1, TreeNode* pRoot2) {if (pRoot2 == nullptr)return true;if (pRoot1 == nullptr)return false;if (pRoot1->val == pRoot2->val) {return isSubtree(pRoot1->left, pRoot2->left)&& isSubtree(pRoot1->right, pRoot2->right);}return false;}public:bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) {if (pRoot1 == nullptr || pRoot2 == nullptr)return false;return isSubtree(pRoot1, pRoot2) || HasSubtree(pRoot1->left, pRoot2) || HasSubtree(pRoot1->right, pRoot2);}
};

树的子结构(C++)相关推荐

  1. 剑指offer:面试题26. 树的子结构

    题目:树的子结构 输入两棵二叉树A和B,判断B是不是A的子结构.(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值. 例如: 给定的树 A: 3     / \ ...

  2. 剑指offer_第17题_树的子结构_Python

    题目描述 输入两棵二叉树A,B 判断B是不是A的子结构. 其中空树不是任意一个树的子结构 class TreeNode:def __init__(self, x):self.val = xself.l ...

  3. 剑指offer:树的子结构

    题目 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路 暴力做法 取出树A/B的前序.中序: 判断这两个数组是否A都包含B,是则true. 前序和中 ...

  4. 《剑指Offer》题目:树的子结构

    题目描述:树的子结构 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 题目分析:此题可以拆成两题,1.在二叉树中查找是否存在某个结点:2.判断两个二叉树是否 ...

  5. 【剑指offer-Java版】18树的子结构

    树的子结构:输入两棵二叉树A B,判断B是不是A的子结构 就是一个递归加上一个树的先序遍历 public class _Q18 {public boolean HasSubTree(BinaryTre ...

  6. 剑指Offer_17_树的子结构

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路 首先判断 A 和 B 是否是空,如果为空,返回false:否则找到 A 和 B 的根结点 ...

  7. 剑指 offer 树的子结构

    子树和子结构的区别 这棵大树的子树有: 4 和 5 对应的两棵子树 3 本身自己完整的一棵树 而里面的小框圈出来的不是 3 这棵大树的子树! 还是上面那张图,子结构就是不用那么严格,图中的小框就是整棵 ...

  8. 《剑指offer》-- 树的子结构、二叉树的镜像、二叉树的深度、平衡二叉树

    一. 树的子结构: 1.题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构. 2.解题思路: 这个题比较简单,利用递归的方式就可以判断B是不是A树的子结构 ...

  9. 牛客网(剑指offer) 第十七题 树的子结构

    题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) <?php/*class TreeNode{var $val;var $left = NUL ...

  10. 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)

    本题来自左神<程序员代码面试指南>"判断 t1 树是否包含t2 树全部的拓扑结构"题目. 题目 剑指 Offer 26. 树的子结构 给定彼此独立的两棵树头节点分别为 ...

最新文章

  1. 多索引表 (1)boost::multi_index多索引容器
  2. oppo手机显示服务器繁忙,如何玩转OPPO R11,五大隐藏功能你必须了解
  3. redis2.2.8版本的安装详情
  4. vs2008 及.netframework3.5 安装问题
  5. 人眼分辨 PPI_扒一扒,PPI、LPI、DPI分辨率三兄弟~
  6. JavaScript:画廊案例
  7. OBJECTPROPERTY函数使用
  8. 考研英语作文:环保呼吁信
  9. IIS8,OUTLOOK OWA 2013鉴赏
  10. 正则表达式三 不捕获文本 前瞻后顾 否定前瞻 否定后顾 贪婪匹配 懒惰匹配
  11. 配置mpls vpn MCE组网
  12. 甲骨文向IBM宣战:推出史上最快服务器
  13. 学习ARM开发(15)
  14. 第一周,人工智能学习总结
  15. 电子商务系统的运维与评价(十三)
  16. 高通平台使用64位win7系统无法安装驱动的解决方法
  17. 注意,83本被踢期刊重回SCI/SSCI,这2本被剔除,你中招了吗?
  18. 文献阅读 - 01 Zotero基础(陆续更新)
  19. 光模块外形类型QSFP56你知道多少?
  20. java 时间格式化 上午下午 am pm,本地windows显示的格式和linux服务器显示格式,风格不一致问题

热门文章

  1. 今天谈谈COLING2018计算语言学进展
  2. 论文赏析[ICLR18]联合句法和词汇学习的神经语言模型
  3. 统计学习方法读书笔记7-K近邻习题
  4. 机器学习基础算法33-HMM实践
  5. 达观杯文本智能处理(6)
  6. 5月书讯丨​​《联邦学习》带队,10新书给你全方位的技能提升
  7. 新书榜TOP 20占了17位!榜单里有哪些值得入手的技术新书?
  8. 大淘宝的终极商业阶段
  9. 做真正Hacker 的乐趣──自己动手去实践
  10. Scikit-learn:最近邻搜索sklearn.neighbors