04-树4 是否同一棵二叉搜索树
来源:互联网 发布:淘宝未发货前退款 编辑:程序博客网 时间:2024/05/16 06:31
题意
给你一个序列构造一个二叉搜索树,然后再给你L个序列,对每个序列构造二叉搜索树,问这棵二叉搜索树跟最开始的二叉搜索树是否一样?
解题思路
分别构造二叉搜索树,然后同时对两棵二叉搜索树进行遍历,看是否一样。
参考代码
#include <iostream>using namespace std;typedef struct Node{ int v; struct Node *l,*r;}*tree;int a[15],b[15];void Insert(tree &t,int x){ if (t==NULL){ t=new Node; t->v=x; t->l=t->r=NULL; return; } if (x>t->v) Insert(t->r,x); else Insert(t->l,x);}bool query(tree t1,tree t2){ if (t1==NULL && t2==NULL){ return true; } else if (t1!=NULL && t2!=NULL){ if (t1->v!=t2->v) return false; else{ if (query(t1->l,t2->l)==true && query(t1->r,t2->r)==true) return true; return false; } } return false;}int main(){ int n,l,x; while (cin>>n){ if (n==0) break; cin>>l; tree t1=NULL,t2=NULL; for (int i=0;i<n;i++){ cin>>x; Insert(t1,x); } for (int i=0;i<l;i++){ t2=NULL; for (int j=0;j<n;j++){ cin>>x; Insert(t2,x); } if (query(t1,t2)==true) cout<<"Yes"<<endl; else cout<<"No"<<endl; } } return 0;}
0 0
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否是同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 04-树4 是否同一棵二叉搜索树
- 是否同一棵二叉搜索树
- PTA-是否同一棵二叉搜索树
- 是否同一棵二叉搜索树
- 利用CSS、JavaScript及Ajax实现图片预加载的三大方法
- iOS 开发--渐变效果
- 03-树3 Tree Traversals Again
- Github资源汇总
- 【转】Objective-C截取字符串时emoji表情的处理
- 04-树4 是否同一棵二叉搜索树
- 数据库View配合Dao层框架解决表1:1和1:n时的关联查询SQL生成问题
- DB2 IMPORT 数据报错 SQL3114W
- FindBugs检测器实现(1)
- Java环境变量配置
- php的libxml函数
- GC 算法,永久代对象如何 GC , GC 有环怎么处理
- C++多线程同步之Semaphore(信号量)
- c:url标签构造地址