题目1520:树的子结构
来源:互联网 发布:linux 目录空间查看 编辑:程序博客网 时间:2024/06/11 02:40
找B的跟节点和A的跟节点一样的点,在遍历左右子树,如果都相同则返回true,否则继续寻找
#include<cstdio>#include<cstring>typedef struct node {int val;struct node *left;struct node *right;void setVal(int v){this->val = v;left = right = NULL;}}Tree;int n,m;void createTree(int n,Tree tree[]){int val,childIndex;if(n == 0)return;for(int i=0;i<n;++i){scanf("%d",&val);tree[i].setVal(val);}for(int i=0;i<n;++i){scanf("%d",&val);if(val == 1){scanf("%d",&childIndex);tree[i].left = &tree[childIndex-1];}else if(val == 2){scanf("%d",&childIndex);tree[i].left = &tree[childIndex-1];scanf("%d",&childIndex);tree[i].right = &tree[childIndex-1];}}}bool isSubTree(Tree *aTree,Tree*bTree){if(bTree == NULL)return true;if(aTree == NULL)return false;if(aTree->val != bTree->val)return false;return isSubTree(aTree->left,bTree->left) && isSubTree(aTree->right,bTree->right);}bool checkSubTree(Tree *aTree,Tree *bTree){bool is = false;if(aTree != NULL && bTree != NULL){if(aTree->val == bTree->val){ is = isSubTree(aTree,bTree);}if(!is && aTree->left != NULL){is = checkSubTree(aTree->left,bTree);}if(!is && aTree->right != NULL){is = checkSubTree(aTree->right,bTree);}}return is;} int main(){while(scanf("%d%d",&n,&m) != EOF){Tree aTree[1009],bTree[1009];createTree(n,aTree);createTree(m,bTree);if(n <= 0 || m <= 0){printf("NO\n");continue;}if(checkSubTree(aTree,bTree)){printf("YES\n");}else{printf("NO\n");}}return 0;}
0 0
- 题目1520:树的子结构
- 题目1520:树的子结构
- 题目1520:树的子结构
- 题目1520:树的子结构
- 题目1520:树的子结构
- 题目1520:树的子结构-九度
- 九度 题目1520:树的子结构
- 九度OJ-题目1520:树的子结构
- 剑指Offer题目1520:树的子结构
- 题目18:树的子结构
- 算法题目-树的子结构
- 算法题目---树的子结构
- 【编程题目】Pq.11--树的子结构
- 【剑指Offer面试编程题】题目1520:树的子结构--九度OJ
- 树的子结构
- 树的子结构
- 树的子结构
- 树的子结构
- 百度ueditor1.4.3 jsp版使用注意事项
- Ubuntu Phone开箱上手
- (4.1.18.3)Android Service 服务(二)—— BroadcastReceiver
- Content Provider之Calendar And Contact Provider
- Construct Binary Tree from Inorder and Postorder Traversal
- 题目1520:树的子结构
- 割接注意点
- 关于viewPager matrix 计算 ,现在记录下来
- c++的类和对象
- 如何查看linux系统下的各种日志文件 linux 系统日志的分析大全
- vi文本插入命令汇总
- (4.1.18.4)Android Service 服务(三)—— bindService与remoteService
- 有关内存的思考题
- tcpdump 高级应用