树的子结构
来源:互联网 发布:红帽系统yum源 编辑:程序博客网 时间:2024/05/16 18:08
题目描述
输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)
思路:
先判断两个子树的根结点是不是相等,不等的话再判断B是不是包含在A的左子树中、不是的话是不是包含在A的右子树中,这题也是一个递归调用。
/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: bool isSubtree(TreeNode* pRoot1, TreeNode* pRoot2) { if(pRoot2==NULL) return true;//B树是否遍历完了 if(pRoot1==NULL) return false;//A树是否遍历完了 if(pRoot1->val==pRoot2->val) { return isSubtree(pRoot1->left,pRoot2->left)&&isSubtree(pRoot1->right,pRoot2->right); } else return false; } bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) { if(pRoot2==NULL||pRoot1==NULL) return false; return isSubtree(pRoot1,pRoot2)||HasSubtree(pRoot1->left,pRoot2) ||HasSubtree(pRoot1->right,pRoot2); }};
阅读全文
0 0
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- Android开发中的事件分发和消费机制的一些理解
- DownloadManager
- mac上搭建Jenkins+Android+IOS自动开发部署环境
- 求树的深度
- Kafka Template–2.2.0 api
- 树的子结构
- Expected mime type application/octet-stream but got text/html.
- QT下设置Linux系统时间
- 点云数据处理学习笔记
- Python- 时间格式的相互转换
- java.io.IOException: Error running exec(). Command: [/system/xbin/su] Working Directory: null Enviro
- String,StringBuffer,StringBuilder
- 阿里云服务器被入侵挂上了wnTKYg挖矿程序解决办法
- vlcj loop