題目鏈結
本題要求根據給定的一棵二叉樹的後序遍歷和中序遍歷結果,輸出該樹的先序遍歷結果。
第一行給出正整數
n(≤),是樹中結點的個數。隨後兩行,每行給出
n個整數,分別對應後序遍歷和中序遍歷結果,數字間以空格分隔。題目保證輸入正確對應一棵二叉樹。
在一行中輸出preorder:
以及該樹的先序遍歷結果。數字間有1個空格,行末不得有多餘空格。
7
2 3 1 5 7 6 4
1 2 3 4 5 6 7
preorder: 4 1 3 2 6 5 7
解題思路:步驟
#includeusing namespace std;
int in[31],post[31];
typedef struct bitnodebitnode,*bitree;
bitree build(int *in,int *post,int n)
bitree t = new bitnode;
t->data = *p;
int len = p - in;
t->lchild = build(in,post,len);
t->rchild = build(p + 1,post + len,n - len - 1);
return t;
}void preorder(bitree t)
return;
}int main()
7 7 根據後序和中序遍歷輸出先序遍歷 25分
本題要求根據給定的一棵二叉樹的後序遍歷和中序遍歷結果,輸出該樹的先序遍歷結果。輸入格式 第一行給出正整數n 30 是樹中結點的個數。隨後兩行,每行給出n個整數,分別對應後序遍歷和中序遍歷結果,數字間以空格分隔。題目保證輸入正確對應一棵二叉樹。輸出格式 在一行中輸出preorder 以及該樹的先序遍歷...
7 3 根據後序和中序遍歷輸出先序遍歷 25分
本題要求根據給定的一棵二叉樹的後序遍歷和中序遍歷結果,輸出該樹的先序遍歷結果。輸入格式 第一行給出正整數n 30 是樹中結點的個數。隨後兩行,每行給出n個整數,分別對應後序遍歷和中序遍歷結果,數字間以空格分隔。題目保證輸入正確對應一棵二叉樹。輸出格式 在一行中輸出preorder 以及該樹的先序遍歷...
7 8 根據後序和中序遍歷輸出先序遍歷 20分
輸入格式 第一行給出正整數n 30 是樹中結點的個數。隨後兩行,每行給出n個整數,分別對應後序遍歷和中序遍歷結果,數字間以空格分隔。題目保證輸入正確對應一棵二叉樹。輸出格式 在一行中輸出preorder 以及該樹的先序遍歷結果。數字間有1個空格,行末不得有多餘空格。輸入樣例 7 2 3 1 5 7 ...