7 2 還原二叉樹(25 分)

2021-08-17 08:27:23 字數 707 閱讀 5760

題目鏈結

給定一棵二叉樹的先序遍歷序列和中序遍歷序列,要求計算該二叉樹的高度。

輸入首先給出正整數n(≤50),為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母(區別大小寫)的字串。

輸出為乙個整數,即該二叉樹的高度。

9

abdfghiec

fdhgibeac

5

#includeusing namespace std;

typedef struct bitnodebitnode,*bitree;

bitree build(char *pre,char *in,int n)

int len = p - in; //確定左子樹的長度,使用指標相減,不是用n - p,用指標!指標!指標!

//左子樹

t->lchild = build(pre + 1,in,len);//第乙個引數和第二個引數是指標!指標!指標!,第三個引數是常數

//右子樹

t->rchild = build(pre + 1 + len,p+1,n - len - 1);//第乙個引數和第二個引數是指標!指標!指標!,第三個引數是常數

return t;

}int hight(bitree t)

int main()

7 2 還原二叉樹(25 分)

輸入首先給出正整數n 50 為樹中結點總數。下面兩行先後給出先序和中序遍歷序列,均是長度為n的不包含重複英文本母 區別大小寫 的字串。輸出為乙個整數,即該二叉樹的高度。9 abdfghiec fdhgibeac5根據前序遍歷的特點,知前序序列 presequence 的首個元素 presequenc...

還原二叉樹(25 分)

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

還原二叉樹(25 分)

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