根據先序中序輸出後序(非建樹版)

2021-08-15 13:48:44 字數 474 閱讀 6513

/*

不管是左右子樹還是整棵樹,先序遍歷的第乙個元素就是根節點,然後從中序遍歷中找到根節點在中序遍歷的位置,並且記錄左子樹元素的個數。

先輸出左子樹,再輸出右子樹。最後輸出根節點

*/#includeusing namespace std;

string pri,mid;

void print(int l1,int r1,int l2,int r2)

char temp = pri[l1];

int index = l2;

while(index <= r2&&temp != mid[index])

print(l1+1,l1+index-l2,l2,index-1);

print(l1+index-l2+1,r1,index+1,r2);

printf("%c",pri[l1]);

}int main()

(後序 中序建樹)根據後序和中序遍歷輸出先序遍歷

本題要求根據給定的一棵二叉樹的後序遍歷和中序遍歷結果,輸出該樹的先序遍歷結果。第一行給出正整數 n 是樹中結點的個數。隨後兩行,每行給出 n個整數,分別對應後序遍歷和中序遍歷結果,數字間以空格分隔。題目保證輸入正確對應一棵二叉樹。在一行中輸出preorder 以及該樹的先序遍歷結果。數字間有1個空格...

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

本題要求根據給定的一棵二叉樹的後序遍歷和中序遍歷結果,輸出該樹的先序遍歷結果。輸入格式 第一行給出正整數nn le 30 30 是樹中結點的個數。隨後兩行,每行給出nn個整數,分別對應後序遍歷和中序遍歷結果,數字間以空格分隔。題目保證輸入正確對應一棵二叉樹。輸出格式 在一行中輸出preorder 以...

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

本題要求根據給定的一棵二叉樹的後序遍歷和中序遍歷結果,輸出該樹的先序遍歷結果。第一行給出正整數n 30 是樹中結點的個數。隨後兩行,每行給出n個整數,分別對應後序遍歷和中序遍歷結果,數字間以空格分隔。題目保證輸入正確對應一棵二叉樹。在一行中輸出preorder 以及該樹的先序遍歷結果。數字間有1個空...