time limit: 1000 ms memory limit: 65536 kib
submit
statistic
problem description
已知一顆二叉樹的前序遍歷和中序遍歷,求二叉樹的層次遍歷。
input
輸入資料有多組,輸入t,代表有t組測試資料。每組資料有兩個長度小於50的字串,第乙個字串為前序遍歷,第二個為中序遍歷。
output
每組輸出這顆二叉樹的層次遍歷。
sample input
2sample outputabcbac
abdec
dbeac
abcabcde
/*
只要給出先序,中序;或者後序,中序;就可以畫出樹了。如果只有先和後,會有多種情況就畫不出來了
先序是(根左右 所以第乙個就是根
後序是(左右根 所以最後乙個是根
在先或者後序中找到根後,放在中序裡看,根的左邊就是都是屬於左邊的,右邊就是都屬於右邊樹的
*//*以上摘抄
**************************************分界線******************************************
以下胡寫*/
#include#include#includetypedef struct node
tree;
int t;
tree *creat()//申請空間並返回
tree *creatree(int n,char *a, char *b)//用遞迴的方法建立二叉樹
//後續遍歷即是「左右根」所以先遞迴左子樹並輸出,然後遞迴右子樹並輸出,最後輸出根節點的資料
//先序遍歷即是「根左右」所以先輸出根節點的資料,然後遞迴左子樹並輸出,最後遞迴右子樹並輸出
//中序遍歷即是「左根右」所以先遞迴左子樹並輸出,然後輸出根節點的資料,最後遞迴右子樹並輸出
void show(tree *t)//佇列記錄並輸出(先進先出)
}int main()
return 0;
}
求二叉樹的層次遍歷
time limit 1000ms memory limit 65536kb problem description 已知一顆二叉樹的前序遍歷和中序遍歷,求二叉樹的層次遍歷。input 輸入資料有多組,輸入t,代表有t組測試資料。每組資料有兩個長度小於50的字串,第乙個字串為前序遍歷,第二個為中序遍...
求二叉樹的層次遍歷
time limit 1000ms memory limit 65536kb problem description 已知一顆二叉樹的前序遍歷和中序遍歷,求二叉樹的層次遍歷。input 輸入資料有多組,輸入t,代表有t組測試資料。每組資料有兩個長度小於50的字串,第乙個字串為前序遍歷,第二個為中序遍...
求二叉樹的層次遍歷
time limit 1000 ms memory limit 65536 kib submit statistic problem description 已知一顆二叉樹的前序遍歷和中序遍歷,求二叉樹的層次遍歷。input 輸入資料有多組,輸入t,代表有t組測試資料。每組資料有兩個長度小於50的字...