題目1078 二叉樹遍歷

2021-06-17 14:51:24 字數 1372 閱讀 8917

題目描述:

輸入:兩個字串,其長度n均小於等於26。

第一行為前序遍歷,第二行為中序遍歷。

二叉樹中的結點名稱以大寫字母表示:a,b,c....最多26個結點。

輸出:輸入樣例可能有多組,對於每組測試樣例,

輸出一行,為後序遍歷的字串。

樣例輸入:

abc

bacfdxeag

xdefag

樣例輸出:

bca

xedgaf

**:

#include #include using namespace std;

char pre[27],in[27];

int loc;

struct node tree[50];

node *create()

node *build(int s1,int e1,int s2,int e2)

}if(root!=s2)

ret->lchild = build(s1+1,s1+(root-s2),s2,root-1);

if(root!=e2)

ret->rchild = build(s1+(root-s2)+1,e1,root+1,e2);

return ret;

}void postorder(node *t)

int main()

return 0;

}

一、二叉樹:

1.二叉樹結點定義:

struct node ;
2.中序遍歷方法:

void inorder(node *t)

二、本題需要根據先序和中序遍歷序列還原該二叉樹。其次,需要將還原的二叉樹儲存在記憶體中,最後進行後序遍歷。

例:先序xdagfe,中序adgxfe.

x為根結點,左子樹為adg,右子樹為fe,左子樹有3個元素,右子樹有2個元素。先序遍歷中dag為x的左子樹前序遍歷結果,fe為x右子樹

遍歷結果。......

題目1078 二叉樹遍歷

題目描述 輸入 兩個字串,其長度n均小於等於26。第一行為前序遍歷,第二行為中序遍歷。二叉樹中的結點名稱以大寫字母表示 a,b,c.最多26個結點。輸出 輸入樣例可能有多組,對於每組測試樣例,輸出一行,為後序遍歷的字串。樣例輸入 abc bacfdxeag xdefag 樣例輸出 bca xedga...

題目1078 二叉樹遍歷

此題涉及到二叉樹的遍歷以及二叉樹的建立 include include using namespace std struct node 定義樹的結點 node tree 50 結點陣列 string str1,str2 void postorder node t if t rchild null c...

Jobdu 題目1078 二叉樹遍歷

題目描述 輸入 兩個字串,其長度n均小於等於26。第一行為前序遍歷,第二行為中序遍歷。二叉樹中的結點名稱以大寫字母表示 a,b,c.最多26個結點。輸出 輸入樣例可能有多組,對於每組測試樣例,輸出一行,為後序遍歷的字串。樣例輸入 abc bacfdxeag xdefag 樣例輸出 bca xedga...