文章
67
粉丝
207
获赞
29
访问
40.3k
自己想的,水平比较菜用的原始办法,估计都能看懂
两个要点
1.先建立二叉排序树,跟以前的题一样
2.要判断的序列再建立二叉排序树(跟第一步步骤一样)
3.判断这两个树是不是同一个(重点)
#include <iostream>
#include <string.h>
using namespace std;
typedef struct node{
int data;
struct node *l,*r;
}node,*Lnode;
void create(Lnode &L,int temp){
if(L==NULL){
L=new node;
L->data=temp;
L->l=NULL;
L->r=NULL;
return ;
}
else{
if(L->data==temp)
return;
else if(L->data>temp)
create(L->l,temp);
else if(L->data<temp)
create(L->r,temp);
}
return;
}
int panduan(Lnode L,Lnode T){
int flag=0;
if(L!=NULL&&T!=NULL){
if(L->data==T->data)
flag=1;
else if(L->data!=T->data)
flag=0;
return flag&&(panduan(L->l,T->l))&&(panduan(L->r,T->r)); }
else if(L==NULL&&T==NULL)
return 1;
else
return 0;
}
int main(){
int n=0,temp=0;
int a[20];
char b[20];
while(cin >>n&&n) {
...
登录后发布评论
暂无评论,来抢沙发