HRBUST 2040 二叉树的遍历
给出一棵二叉树的中序和前序遍历,输出它的后序遍历。 Input 本题有多组数据,输入处理到文件结束。 每组数据的第一行包括一个整数n,表示这棵二叉树一共有n个节点。 接下来的一行每行包括n个整数,表示这棵树的中序遍历。 接下来的一行每行包括n个整数,表示这棵树的前序遍历。 3<= n <= 100 Output 每组输出包括一行,表示这棵树的后序遍历。 Sample Input 7 4 2 5 1 6 3 7 1 2 4 5 3 6 7 Sample Output 4 5 2 6 7 3 1 这里后序遍历写了一个非递归,嗯,为考研做准备。 代码: #include <stdio.h> #include <stdlib.h> typedef struct Node { int Data; struct Node *Left,*Right; }Node; int q[100],z[100];///q记录前序遍历 z记录中序遍历 Node* creatNode() { Node *node = (Node *)malloc(sizeof(Node)); if(node == NULL) exit(0); node -> Left = node -> Right = NULL; return node; } Node* rTree(int q1,int q2,int z1,int z2)