分析:對於二叉樹的還原問題,首先應該對於先序遍歷以及中序遍歷的特點有一定的了解。每乙個先序遍歷的結點都是對應子樹的根結點,於是在中序遍歷中,位於該結點左邊的為其左子樹,右邊的為其右子樹。進行反覆劃分後,採取遞迴的方式解決問題。
class
solution
treenode*
buildtree
(vector<
int>
& preorder, vector<
int>
& inorder)
;int l1=
0,l2=
0,h1=preorder.
size()
-1,h2=preorder.
size()
-1; treenode* root=
preorderbulid
(preorder,inorder,l1,h1,l2,h2)
;return root;}}
;
劍指offer 重建二叉樹(c
題目描述 輸入一棵二叉樹前序遍歷和中序遍歷的結果,請重建該二叉樹。注意 二叉樹中每個節點的值都互不相同 輸入的前序遍歷和中序遍歷一定合法 樣例給定 前序遍歷是 3,9,20,15,7 中序遍歷是 9,3,15,20,7 返回 3,9,20,null,null,15,7,null,null,null,...
劍指offer 重建二叉樹 C
題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。思路 1.關於二叉樹遍歷 前序 中序 後序 的講解,請見leetcode解釋。2.給定了前序序列 遍歷順序為根左右 那第乙個元...
劍指offer 重建二叉樹C
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。definition for binary tree 1 struct treenode class solution 求右子樹的中...