UVA 536 二叉樹還原

2021-07-24 06:51:12 字數 1333 閱讀 6726

題意

一棵二叉樹由 abc...xyz來代表節點表示

現在,給予先序遍歷和中序遍歷,還原樹,輸出後序遍歷

sample input

dbacegf abcdefg

bcad cbad

sample output

acbfged

cdab

思路 基本樹還原,邊還原邊輸出樹

wa 1

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#include

#define maxn 30

using

namespace std;

struct

node

tree[maxn];

string

s1,s2;

intbuild

(int l1,

int r1,

int l2,

int r2)

tree[root].l=

build

(l1+1

,l1+len,l2,l2+len-1

); tree[root].r=

build

(l1+1

+len,r1,l2+len+1

,r2);

}int

dfs(

int x)

intmain()}

到現在都還是沒能夠找到錯誤,dfs後序遍歷沒問題啊,udebug上也沒出問題

後來 講建樹與輸出改在一起了,就ac了

#include#include#include#include #include #include #include #include #include #include #include #include #define maxn 30

using namespace std;

struct nodetree[maxn];

string s1,s2;

int build(int l1,int r1, int l2, int r2)

tree[root].l=build(l1+1,l1+len,l2,l2+len-1);

tree[root].r=build(l1+1+len,r1,l2+len+1,r2);

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

}int main()

}

還原二叉樹

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入資料有多組,每組資料第一行輸入 1個正整數 n 1 n 50 為樹中結點總數,隨後 2行先後給出先序和中序遍歷序列,均是長度為 n的不包含重複英文本母 區分大小寫 的字串。輸出乙個整數,即該二叉樹的高度。9 abdfghiec ...

還原二叉樹

資料結構實驗之二叉樹四 還原二叉樹 time limit 1000ms memory limit 65536k 有疑問?點這裡 題目描述 給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入輸入資料有多組,每組資料第一行輸入1個正整數n 1 n 50 為樹中結點總數,隨後2行先後...

還原二叉樹

5 9 還原二叉樹 25分 給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。輸入首先給出正整數n le 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出為乙個整數,即該二叉樹的高度。9 abdfghiec fdh...