#include<bits/stdc++.h>
using namespace std;
typedef struct node
{
char data;
struct node *lc,*rc;
} node,*link;
int i,flag,le,ri;
void creat(link &L)
{
char ch;
scanf("%c",&ch);
i++;
if(i==1&&ch=='0')
{
flag=0;
return ;
}
if(ch=='0')
L=NULL;
else
{
L=new node;
L->data=ch;
creat(L->lc);
creat(L->rc);
}
}
int jc(link L,link LL)
{
if(!L&&!LL) return 1;
else if(!L||!LL) return 0;
if(L->data!=LL->data) return 0;
le=jc(L->lc,LL->lc);
ri=jc(L->rc,LL->rc);
return le&&ri;
}
int main()
{
while(1)
{
i=0,flag=1;
link L,LL;
creat(L);
if(!flag) break;
getchar();
creat(LL);
le=ri=0;
if(jc(L,LL)) printf("YES\n");
else printf("NO\n");
getchar();
}
return 0;
}
基于二叉链表的树结构相等的判断
最新推荐文章于 2025-05-15 09:52:29 发布