2137 데이터 구조 실험의 두 갈래 트리 뒷차례 반복과 차원 반복
데이터 구조 실험의 두 갈래 트리 뒷차례 반복과 차원 반복
Time Limit: 1000ms Memory limit: 65536K여기를 누르세요^_^
제목 설명
이미 한 그루의 두 갈래 나무의 앞 순서와 중간 순서를 알고 있으며, 두 갈래 나무의 뒷 순서를 구한다.
입력
입력 데이터가 여러 그룹이고 첫 번째 줄은 정수 t(t<1000)로 t그룹 테스트 데이터가 있음을 나타낸다.각 그룹은 길이가 50보다 작은 두 개의 문자열을 포함하는데, 첫 번째 문자열은 두 갈래 나무의 선순 역행 서열을 나타내고, 두 번째 문자열은 두 갈래 나무의 중순 역행 서열을 나타낸다.
출력
각 그룹의 첫 번째 줄은 두 갈래 트리의 뒷차례 역행 서열을 출력하고, 두 번째 줄은 두 갈래 트리의 차원 역행 서열을 출력한다.
예제 입력
2
abdegcf
dbgeafc
xnliu
lnixu
예제 출력
dgebfca
abcdefg
linux
xnuli
#include
#include
#include
struct node
{
char data ;
struct node *l,*r;
};
struct node *build (char *a,char *b,int n)
{
int k=0;
struct node *p;
char *new;
if (n<=0)
return NULL;
p=(struct node *)malloc(sizeof (struct node ));
p->data=*a;
for (new=&b[0];new l=build (a+1,b,k);
p->r=build (a+1+k,new+1,n-1-k);
return p;
}
void last (struct node *p)
{
if (p!=NULL)
{
last (p->l);
last (p->r);
printf ("%c",p->data);
}
}
void cengci (struct node *t)// ,
{
int a=0,s=1;//a ,s
struct node *p[10000];
p[0]=t;
while (adata);
p[s]=p[a]->l;// , +1;
s++;
p[s]=p[a]->r;
a++;s++;// 1
}
else
{
a++;
}
}
}
int main ()
{
int t,n;
char a[100],b[100];
while (~scanf ("%d",&t))
{
while (t--)
{
struct node *tree;
scanf ("%s%s",a,b);
n=strlen (a);
tree=build (a,b,n);
last (tree);
printf ("
");
cengci (tree);
printf ("
");
}
}
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
java 데이터 구조 2차원 트리의 실현 코드일.두 갈래 트리 인터페이스 2 노드 클래스 3. 두 갈래 나무 구현 이 글을 통해 여러분께 도움이 되었으면 좋겠습니다. 본 사이트에 대한 지지에 감사드립니다!...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.