主要思路:
1、先判斷那些不滿足的條件以及只有乙個結點的情況;
2、根節點 是前序遍歷的第乙個值;
3、在中序遍歷中找到根節點的位置,記為pos_root_of_in;以中序遍歷中根節點的位置為參考,切丁左右子樹的範圍;
4、然後分為左子樹 右子樹,將左子樹入棧/容器,右子樹入棧或者容器;
vectorpre_left,pre_right,in_left,in_right;
5、proot->left=reconstruct_tree(pre_left,in_left);
proot->right=reconstruct_tree(pre_right,in_right);
別人的**:
struct treenode* reconstructbinarytree(vectorpre,vectorin)
樹1 重建二叉樹
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。definition for binary tree public class treenode public class solu...
二叉樹24 重建二叉樹
題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。思路 已知一棵樹的先序遍歷的結果陣列和中序遍歷的結果,要求據此重建一棵二叉樹,即重建所有結點並設定結點之間的指標關係,最後返回...
二叉樹 2255 重建二叉樹
總時間限制 1000ms 記憶體限制 65536kb 描述給定一棵二叉樹的前序遍歷和中序遍歷的結果,求其後序遍歷。輸入輸入可能有多組,以eof結束。每組輸入包含兩個字串,分別為樹的前序遍歷和中序遍歷。每個字串中只包含大寫字母且互不重複。輸出對於每組輸入,用一行來輸出它後序遍歷結果。樣例輸入 dbac...