5-4 是否同一棵二叉搜索树
来源:互联网 发布:淘宝如何设为公益宝贝 编辑:程序博客网 时间:2024/05/22 17:05
点击打开链接
先建一颗模板数,然后对于每一个测试,检测到达该节点的路径上的每一个点是否遍历过,如果遍历过,则相同,否则树的顺序就不一样
#include<stdio.h>#include<stdlib.h>#include<iostream>#include<queue>using namespace std;typedef struct TreeNode *Tree;struct TreeNode{ int v; Tree right,left; int flag;};Tree Insert(Tree T,int V){ if(!T) { T=(Tree)malloc(sizeof(struct TreeNode)); T->v=V; T->left=T->right=NULL; T->flag=0; } else { if(V > T->v) T->right= Insert(T->right,V); else T->left= Insert(T->left,V); } return T;}Tree marktree(int n){ Tree t=(Tree)malloc(sizeof(struct TreeNode)); int V; cin>>V; t->v=V; t->left=t->right=NULL; t->flag=0; for(int i=1;i<n;i++) { scanf("%d",&V); t=Insert(t,V); } return t;}int check(Tree T,int V){ if(T->flag) { if(V > T->v ) return check(T->right,V); else if(V < T->v ) return check(T->left,V); else return 0; } else { if(T->v == V) { T->flag=1; return 1; } else { return 0; } }}int judge(Tree T,int N){ int V,flag=0; cin>>V; if(V!=T->v) flag=1; else T->flag=1; for(int i=1;i<N;i++) { cin>>V; if(!check(T,V)) flag=1; } if(flag) return 0; else return 1;}void reset(Tree T){ if(T->right) reset(T->right); if(T->left) reset(T->left); T->flag=0;}void freetree(Tree T){ if(T->right) freetree(T->right); if(T->left) freetree(T->left); free(T);}int main(){ int N,L; Tree T; cin>>N; while(N) { cin>>L; T=marktree(N); for(int i=0;i<L;i++) { if(judge(T,N)) cout<<"Yes"<<endl; else cout<<"No"<<endl; reset(T); } freetree(T); cin>>N; }}
阅读全文
0 0
- 5-4 是否同一棵二叉搜索树 (25分)
- PTA数据结构 5-4 是否同一棵二叉搜索树
- 5-4 是否同一棵二叉搜索树
- 5-4 是否同一棵二叉搜索树 (25分)
- 5-4 是否同一棵二叉搜索树 (25分)
- 5-4 是否同一棵二叉搜索树
- 是否同一棵二叉搜索树
- PTA-是否同一棵二叉搜索树
- 是否同一棵二叉搜索树
- 是否同一棵二叉搜索树
- 是否为同一棵二叉搜索树
- pat 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否是同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 软件测试知识学习路线
- codevs.1688 求逆序对
- React Js 与 Native 之间的通信
- codeforces 263A(Beautiful Matrix) Java
- ubuntu下安装nginx时依赖库zlib,pcre,openssl安装方法
- 5-4 是否同一棵二叉搜索树
- php获取textarea的值作为邮箱内容发出去不换行的问题处理,即回车换行的方法
- Opencv学习之图像的矩
- Fragment中测量宽度、高度, Caused by: java.lang.IllegalArgumentException: width and height must be > 0
- less中使用calc
- TextView属性大全
- Interface RowMapper 简介(译自spring 官方文档)
- 如何用好 github 中的 watch、star、fork
- QuickUnity —— 提高Unity开发者开发效率的利器