잎 문제

2768 단어

데이터 구조 실험의 두 갈래 나무 7: 잎 문제



Time Limit: 1000MS Memory limit: 65536K


제목 설명


abd,eg,,,,cf,,, (그 중에서 빈 결점을 나타냄) 와 같은 선순으로 입력된 문자 서열을 알고 있습니다.이 두 갈래 나무를 세우고 위에서 아래로 왼쪽에서 오른쪽으로 순서대로 이 두 갈래 나무의 모든 잎사귀 결점을 출력하십시오.

입력


 
입력 데이터가 여러 줄로 되어 있으며, 각 줄은 길이가
오십
문자열

출력


 
위에서 아래로 왼쪽에서 오른쪽으로 두 갈래 나무의 잎사귀 결점을 출력합니다.

예제 입력

abd,,eg,,,cf,,,
xnl,,i,,u,,

예제 출력

dfg

uli
#include #include #include #include char q[100];int i; struct node {     char data;     struct node *l,*r; }; struct node *creat(struct node *p) {     if(q[i++]==',')      p=NULL;     else     {         p=(struct node *)malloc(sizeof(struct node));         p->data=q[i-1];         p->l=creat(p->l);         p->r=creat(p->r);     }     return p; } void cengci(struct node *root) { int out=0,in=0; struct node *q[100]; q[in++]=root; while(in>out) { if(q[out]) {if(q[out]->l==NULL&&q[out]->r==NULL) printf("%c",q[out]->data); q[in++]=q[out]->l; q[in++]=q[out]->r; } out++; } } int main() { while(scanf("%s",q)!=EOF)     {i=0;         struct node *head;         head = (struct node *)malloc(sizeof(struct node));         head = creat(head);         cengci(head);        printf("");     }     return 0; }

좋은 웹페이지 즐겨찾기