題目32 二叉樹遍歷

2021-10-04 06:33:34 字數 1150 閱讀 3699

題目描述 輸入

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

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

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

輸出

輸入樣例可能有多組,對於每組測試樣例, 輸出一行,為後序遍歷的字串。

樣例輸入:

abcbac

fdxeag

xdefag

樣例輸出:

bcaxedgaf

解題思路

#include

#include

using

namespace std;

//二叉樹結點

struct nodetree[50]

;int loc;

//初始化

node *

creat()

char str1[30]

,str2[30]

;//對構建的二叉樹後序遍歷

void

postorder

(node *t)

if(t-

>right!=

null

)postorder

(t->right)

; cout<>c;

}//利用前序遍歷序列 中序遍歷序列 (主要是下標)來構建二叉樹

node *

build

(int s1,

int e1,

int s2,

int e2)}if

(temp!=s2)

ret-

>left=

build

(s1+

1,s1+

(temp-s2)

,s2,temp-1)

;if(temp!=e2)

ret-

>right=

build

(s1+

(temp-s2)+1

,e1,temp+

1,e2)

;return ret;

}int

main()

return0;

}

題目1078 二叉樹遍歷

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

題目1078 二叉樹遍歷

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

題目1184 二叉樹遍歷

編乙個程式,讀入使用者輸入的一串先序遍歷字串,根據此字串建立乙個二叉樹 以指標方式儲存 例如如下的先序遍歷字串 abc de g f 其中 表示的是空格,空格字元代表空樹。建立起此二叉樹以後,再對二叉樹進行中序遍歷,輸出遍歷結果。輸入包括1行字串,長度不超過100。可能有多組測試資料,對於每組資料,...