小荆


私信TA

用户名:JHN01

访问量:5673

签 名:

等  级
排  名 2260
经  验 2300
参赛次数 0
文章发表 23
年  龄 0
在职情况 学生
学  校 邯郸学院
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

#include<stdio.h>

#include<stdlib.h>

#include<string.h>


typedef struct node{

struct node *left;

struct node *right;

char num;}Node;


Node *fun(char *pre,char *in,int len)

{

if(len==0)

return NULL;

else

{

int i;

Node *tree;

tree=(Node *)malloc(sizeof(Node));

tree->num=*pre;


for(i=0;i<len;i++)   //中序遍历中根的位置

if(in[i]==*pre)

break;


tree->left=fun(pre+1,in,i);

tree->right=fun(pre+1+i,in+1+i,len-(i+1));


return tree;

}

}


void postorder(Node *tree)

{

if(tree!=NULL)

{

postorder(tree->left);

postorder(tree->right);

printf("%c",tree->num);

}

}


int main()

{

char ch[50],s[50];

int len;

Node *tree;


while(scanf("%s",ch)!=EOF)

{

scanf("%s",s);

len=strlen(s);


tree=fun(ch,s,len);

postorder(tree);

putchar('\n');

}


return 0;

}


 

0.0分

0 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区