PTA 根據後序中序遍歷輸出先序遍歷

本題要求根據給定的一棵二叉樹的後序遍歷和中序遍歷結果,輸出該樹的先序遍歷結果。html

輸入格式:post

第一行給出正整數N(30),是樹中結點的個數。隨後兩行,每行給出N個整數,分別對應後序遍歷和中序遍歷結果,數字間以空格分隔。題目保證輸入正確對應一棵二叉樹。spa

輸出格式:code

在一行中輸出Preorder:以及該樹的先序遍歷結果。數字間有1個空格,行末不得有多餘空格。htm

輸入樣例:
blog

7
2 3 1 5 7 6 4
1 2 3 4 5 6 7it

輸出樣例:class

Preorder: 4 1 3 2 6 5 7二叉樹

 1 //下標從0開始
 2 void Preorder(int post[],int in[],int len)
 3 {
 4     if(len <= 0) return;
 5     
 6     //找到父結點
 7     int i = 0;
 8     while(post[len-1] != in[i]) i++;
 9     
10     printf(" %d",post[len-1]);
11     
12     Preorder(post,in,i);
13     Preprder(post+i,in+i+1,len-i-1);
14 }
相關文章
相關標籤/搜索