题目描述

输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
 
/*
struct TreeNode {
int val;
struct TreeNode *left;
struct TreeNode *right;
TreeNode(int x) :
val(x), left(NULL), right(NULL) {
}
};*/
class Solution {
public:
bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2)
{
if(pRoot1 == NULL || pRoot2 == NULL){
return false;
}
return isChild(pRoot1,pRoot2)||isChild(pRoot1->left,pRoot2)||isChild(pRoot1->right,pRoot2);
}
bool isChild(TreeNode* root1, TreeNode* root2){
if(root2 == NULL){
return true;
}
if(root1 == NULL){
return false;
}
if(root1->val == root2->val){
return isChild(root1->left,root2->left)&&isChild(root1->right,root2->right);
}else {
return false;
}
}
};

  

最新文章

  1. easyui Datagrid查询报错Uncaught TypeError:Cannot read property 'length' of undefined
  2. js 0.1+0.2!=0.3
  3. Salted hash password
  4. Redis persistence demystified - part 2
  5. 传统三层结构和MVC之于贫血模式和充血模式以及领域建模
  6. [POJ3061]Subsequence(二分,前缀和)
  7. centos 7 没有ifconfig 命令
  8. Software development process
  9. Django_xadmin后台全局设置
  10. Linux之软链接与硬链接
  11. How can I manage the modules for python2 when python3 installed as well. In OSX
  12. C#中,使用正则表达式匹配获取所需数据
  13. 在CentOS7(虚拟机)下通过源码安装Postgresql10以及基本配置
  14. VTK中导入并显示STL、3DS文件
  15. JAVA NIO学习记录2-非阻塞式网络通信
  16. Dllmain的作用
  17. rpc、socket、tcp/udp简要梳理
  18. Python基础(3) - 数据类型:3列表类型
  19. Gradle sync failed: Failed to find Build Tools revision 26.0.2的解决办法
  20. 谈谈toLocaleString()

热门文章

  1. Nginx 防盗链 secure_link 模块
  2. JDK 与TOMCAT的安装详解
  3. windows常用服务命令
  4. BZOJ2561最小生成树——最小割
  5. HDU3966-Aragorn's Story-树链剖分-点权
  6. Codeforces986C AND Graph 【位运算】【dfs】
  7. Android assets的一个bug
  8. 【WC2018】通道(边分治,虚树,动态规划)
  9. 2019西北工业大学程序设计创新实践基地春季选拔赛(重现赛) Chino with Equation(组合公式)
  10. 牛客练习赛40 A 小D的剧场 (思维dp)