由中序和後序重建二叉樹

2021-09-07 13:40:52 字數 693 閱讀 9863

time limit: 1000ms   memory limit: 65536k  有疑問?點這裡^_^

已知一顆二叉樹的中序遍歷序列和後序遍歷序列,求二叉樹的深度。

輸入資料有多組,輸入t,代表有t組資料。每組資料報含兩個長度小於50的字串。第乙個字串表示二叉樹的中序遍歷,第二個表示二叉樹的後序遍歷。

輸出二叉樹的深度。

2

dbgeafc

dgebfca

lnixu

linux

43

慢慢來#include #include #include #include #include using namespace std;

typedef struct node

btree,*bt;

char post[55],ins[55];

void build(bt &t,char *ins,char *post,int n) //依據後序和中序重建二叉樹

}int deep(bt t)

int main()

{ bt root;

int n;

cin>>n;

getchar();

while(n--)

{ cin>>ins>>post;

build(root,ins,post,strlen(ins));

cout<

由中序和後序重建二叉樹

由中序和後序重建二叉樹 總時間限制 500ms 記憶體限制 65535kb 描述我們知道如何按照三種深度優先次序來周遊一棵二叉樹,來得到中根序列 前根序列和後根序列。反過來,如果給定二叉樹的中根序列和後根序列,或者給定中根序列和前根序列,可以重建一二叉樹。本題輸入一棵二叉樹的中根序列和後根序列,要求...

由中序序列和前序序列重建二叉樹

definition for binary tree struct treenode class solution treenode construct vector pre,vector vin,int l1,int r1,int l2,int r2 int val pre l1 int inde...

根據後序和中序遍歷重建二叉樹

思路 與已知前序遍歷的區別在於後序序列要從後向前的順序建立。因為前序遍歷根節點在其所有子樹的前面,而後序遍歷的根節點在其所有字數的後面。關鍵在每次讀取兩個陣列的範圍問題 1 in的邊界比較好確定 有左子樹時為 start2,i 1 有右子樹時為 i 1,end2 2 aft的邊界要根據in確定 有左...