树的子结构
来源:互联网 发布:编程珠玑 英文版 pdf 编辑:程序博客网 时间:2024/05/16 14:16
判断第二个树是不是第一个树的子结构。空树不是任何树的子结构。
第一步:前序遍历找节点和第二个树的根一样的,进入第二步
第二步:递归判断根是否相同,左子树是否相同,右子树是否相同。递归退出条件是:若第二个树的节点为NULL,返回true,若第一个树的节点为空返回false.这两个条件不能反
/*struct TreeNode {int val;struct TreeNode *left;struct TreeNode *right;TreeNode(int x) :val(x), left(NULL), right(NULL) {}};*/class Solution {public: bool chk(TreeNode * t1, TreeNode * t2){ if(t2==NULL) return true; if(t1==NULL) return false; if(t1->val == t2->val){ return chk(t1->left, t2->left)&&chk(t1->right, t2->right); } return false; } bool find(TreeNode * t1, TreeNode * t2){ if(t1==NULL) return false; if(t1->val == t2->val){ if(chk(t1, t2)) return true; } if(find(t1->left, t2)) return true; if(find(t1->right, t2)) return true; return false; } bool HasSubtree(TreeNode* pRoot1, TreeNode* pRoot2) { if(pRoot2==NULL) return false; return find(pRoot1, pRoot2); }};
0 0
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 【Oracle_SQL性能优化】系列目录
- tomcat原理简析和对比jetty
- Java实现邮件发送
- poj 3744 Scout YYF I (概率DP&矩阵快速幂)★
- HDOJ 1863 Kruskal算法
- 树的子结构
- ZBar扫描二维码第三方的使用方法
- 127. Word Ladder 单词间的最短路径
- 面试:C语言C++小知识总结(1)
- spark-2.0-从RDD到DataSet
- java的枚举
- 最简单的计算机
- 5.一学期的学校
- 拥塞控制