树的子结构(C++)
树的子结构
描述
输入两棵二叉树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++)相关推荐
- 剑指offer:面试题26. 树的子结构
题目:树的子结构 输入两棵二叉树A和B,判断B是不是A的子结构.(约定空树不是任意一个树的子结构) B是A的子结构, 即 A中有出现和B相同的结构和节点值. 例如: 给定的树 A: 3 / \ ...
- 剑指offer_第17题_树的子结构_Python
题目描述 输入两棵二叉树A,B 判断B是不是A的子结构. 其中空树不是任意一个树的子结构 class TreeNode:def __init__(self, x):self.val = xself.l ...
- 剑指offer:树的子结构
题目 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路 暴力做法 取出树A/B的前序.中序: 判断这两个数组是否A都包含B,是则true. 前序和中 ...
- 《剑指Offer》题目:树的子结构
题目描述:树的子结构 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 题目分析:此题可以拆成两题,1.在二叉树中查找是否存在某个结点:2.判断两个二叉树是否 ...
- 【剑指offer-Java版】18树的子结构
树的子结构:输入两棵二叉树A B,判断B是不是A的子结构 就是一个递归加上一个树的先序遍历 public class _Q18 {public boolean HasSubTree(BinaryTre ...
- 剑指Offer_17_树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路 首先判断 A 和 B 是否是空,如果为空,返回false:否则找到 A 和 B 的根结点 ...
- 剑指 offer 树的子结构
子树和子结构的区别 这棵大树的子树有: 4 和 5 对应的两棵子树 3 本身自己完整的一棵树 而里面的小框圈出来的不是 3 这棵大树的子树! 还是上面那张图,子结构就是不用那么严格,图中的小框就是整棵 ...
- 《剑指offer》-- 树的子结构、二叉树的镜像、二叉树的深度、平衡二叉树
一. 树的子结构: 1.题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构. 2.解题思路: 这个题比较简单,利用递归的方式就可以判断B是不是A树的子结构 ...
- 牛客网(剑指offer) 第十七题 树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) <?php/*class TreeNode{var $val;var $left = NUL ...
- 左神算法:判断 t1 树是否包含t2 树全部的拓扑结构(剑指 Offer 26. 树的子结构,Java版)
本题来自左神<程序员代码面试指南>"判断 t1 树是否包含t2 树全部的拓扑结构"题目. 题目 剑指 Offer 26. 树的子结构 给定彼此独立的两棵树头节点分别为 ...
最新文章
- 多索引表 (1)boost::multi_index多索引容器
- oppo手机显示服务器繁忙,如何玩转OPPO R11,五大隐藏功能你必须了解
- redis2.2.8版本的安装详情
- vs2008 及.netframework3.5 安装问题
- 人眼分辨 PPI_扒一扒,PPI、LPI、DPI分辨率三兄弟~
- JavaScript:画廊案例
- OBJECTPROPERTY函数使用
- 考研英语作文:环保呼吁信
- IIS8,OUTLOOK OWA 2013鉴赏
- 正则表达式三 不捕获文本 前瞻后顾 否定前瞻 否定后顾 贪婪匹配 懒惰匹配
- 配置mpls vpn MCE组网
- 甲骨文向IBM宣战:推出史上最快服务器
- 学习ARM开发(15)
- 第一周,人工智能学习总结
- 电子商务系统的运维与评价(十三)
- 高通平台使用64位win7系统无法安装驱动的解决方法
- 注意,83本被踢期刊重回SCI/SSCI,这2本被剔除,你中招了吗?
- 文献阅读 - 01 Zotero基础(陆续更新)
- 光模块外形类型QSFP56你知道多少?
- java 时间格式化 上午下午 am pm,本地windows显示的格式和linux服务器显示格式,风格不一致问题
热门文章
- 今天谈谈COLING2018计算语言学进展
- 论文赏析[ICLR18]联合句法和词汇学习的神经语言模型
- 统计学习方法读书笔记7-K近邻习题
- 机器学习基础算法33-HMM实践
- 达观杯文本智能处理(6)
- 5月书讯丨​​《联邦学习》带队,10新书给你全方位的技能提升
- 新书榜TOP 20占了17位!榜单里有哪些值得入手的技术新书?
- 大淘宝的终极商业阶段
- 做真正Hacker 的乐趣──自己动手去实践
- Scikit-learn:最近邻搜索sklearn.neighbors