剑指offer--24.树的子结构
题目描述
class Solution {
public:
bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) {//找到子树的根节点
if(pRoot1 == NULL || pRoot2 == NULL) return false;
bool ans = false;
if(pRoot1->val == pRoot2->val) ans = isSubtree(pRoot1, pRoot2);
if(!ans) ans = HasSubtree(pRoot1->left, pRoot2);
if(!ans) ans = HasSubtree(pRoot1->right,pRoot2);
return ans;
}
bool isSubtree(TreeNode* t1, TreeNode* t2) {//判断左右子树是否一致
if(t2 == NULL) return true;
if(t1 == NULL) return false;
bool ans = true;
if(t1->val != t2->val) return false;
if(ans) ans = isSubtree(t1->left, t2->left);
if(ans) ans = isSubtree(t1->right,t2->right);
return ans;
}
};
剑指offer--24.树的子结构的更多相关文章
- 《剑指offer》 树的子结构
本题来自<剑指offer> 树的子结构 题目: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 思路: 分两步走: 第一步:判断根节点,两个根节 ...
- 剑指Offer:树的子结构【26】
剑指Offer:树的子结构[26] 题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路 分为两步: 第一步:在树A中找到和树B的根节点的值一 ...
- 剑指 Offer 26. 树的子结构
剑指 Offer 26. 树的子结构 Offer 26 题目详情: 题解分析 解法一: 第一种比较容易想到的解法就是查看这两棵树的前序遍历和中序遍历序列是否都匹配. 因为前序遍历和中序遍历可以唯一确定 ...
- 【剑指Offer】树的子结构 解题报告(Python)
[剑指Offer]树的子结构 解题报告(Python) 标签(空格分隔): LeetCode 题目地址:https://www.nowcoder.com/ta/coding-interviews 题目 ...
- 【剑指offer】树的子结构
转载请注明出处:http://blog.csdn.net/ns_code/article/details/25907685 剑指offer第18题,九度OJ上測试通过! 题目描写叙述: 输入两颗二叉树 ...
- 【Java】 剑指offer(26) 树的子结构
本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集 题目 输入两棵二叉树A和B,判断B是不是A的子结构. 思路 1)先对A树 ...
- Go语言实现:【剑指offer】树的子结构
该题目来源于牛客网<剑指offer>专题. 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) Go语言实现: type TreeNode stru ...
- 剑指Offer 17. 树的子结构 (二叉树)
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 题目地址 https://www.nowcoder.com/practice/6e196c44c7 ...
- 剑指offer:树的子结构
题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 解题思路: 同样考虑用递归来做. 利用两个递归函数,一个用于判断两棵树树否相等,另一个递归取A的 ...
- [剑指Offer] 17.树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) [思路]要查找树A中是否存在和树B结构一样的子树,可以分成两步: 1.第一步在树A中找到和B的根节 ...
随机推荐
- Ionic上滑刷新
上拉加载用的是ionic控件ion-infinite-scroll,使用示例如下: <ion-infinite-scroll (ionInfinite)="doInfinite($ev ...
- Hbase 学习笔记2----概念
说在前面,本文部分内容来源于社区官网经过适度翻译,部分根据经验总结,部分是抄袭网络博文,(不一一列举引用,在此致歉)一并列在一起,本文的目的,希望能总结出一些有用的,应该注意到的东西,基本思路是先提出 ...
- 关于WinIO.DLL的键盘输入模拟
关于WinIO.DLL的键盘输入模拟 最近在找键盘模拟的方式,最后在网上找到了一个WinIO.DLL的IO键盘模拟按键的方式.但是居然那个方法是有问题的.我造了全局的hook监视键盘信息,发现它只是有 ...
- hadoop17---RPC和Socket的区别
RPC是在Socket的基础上实现的,它比socket需要更多的网络和系统资源.RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台 ...
- JSP与Servlet之前台页面自动回复之实现
[JSP与Servlet之前台页面自动回复之实现] 该内容 来自于imooc的一个视屏教程.http://www.imooc.com/video/4562 就是当点击 发送 的时候把这个对话框内容添加 ...
- gh-ost原理
gh-ost原理 一.三种模式架构图 1.连上从库,在主库上修改 这是gh-ost默认的工作模式,它会查看从库情况,找到集群的主库并且连接上去,对主库侵入最少,大体步骤是: 在主库上创建_xxx_gh ...
- Python3.x:PDFMiner3k在线、本地解析pdf
Python3.x:PDFMiner3k在线.本地解析pdf 安装 pip install pdfminer3k 示例一:在线解析pdf ''' Demo:pdf2htmlex解析pdf Dateti ...
- Rreact Native 常见错误总结
1.invariant violation:expected a component class,got[object object] 创建自定义组件首字母要大写,否则会报错. ...
- codeforces 738
D: 题意:一行1*n的格子放船只,船数为a,船的长度为b,每格为0或1,1表示该格并不是船只的一部分,找出最少的格子数使得射击这些格子至少能打中一艘船. 思路:船的长度为b,即每段连续的长度为b的0 ...
- Oracle中清除BIN$开头的垃圾表的解决办法 [转]
oracle drop table的时候,不会彻底删除该表,它将drop的表放到了自己的回收站里,放到回收站的表就是我们看到的形如bin$/rt62vkdt5wmrjfcz28eja==$0的表,其中 ...