time limit: 1000ms memory limit: 65536k 有疑問?點這裡^_^
已知一顆二叉樹的中序遍歷序列和後序遍歷序列,求二叉樹的深度。
輸入資料有多組,輸入t,代表有t組資料。每組資料報含兩個長度小於50的字串。第乙個字串表示二叉樹的中序遍歷,第二個表示二叉樹的後序遍歷。
輸出二叉樹的深度。
243dbgeafc
dgebfca
lnixu
linux
慢慢來#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確定 有左...