輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。分析:
1.前序遍歷的第乙個為根結點,在中序遍歷中找到根結點的位置index
2.中序遍歷中index左邊的為左子樹的中序遍歷,假設結點個數為k,中序遍歷中index的右邊為右子樹的中序遍歷
3.前序遍歷中第乙個元素(根節點)後的k個元素的左子樹的前序遍歷,後面剩餘的元素為右子樹的前序遍歷
classtranslate withsolution
}//為左右子樹確定中序遍歷的元素
int c=0
;
for(int i=0; i
//為左右子樹確定前序遍歷的元素
for(int i=1; i1; i++)
for(int i=c+1; i)
//遞迴構造
root->left=reconstructbinarytree(preleft,inleft);
root->right=reconstructbinarytree(preright,inright);
return
root;}};
xenglish
arabic
hebrew
polish
bulgarian
hindi
portuguese
catalan
hmong daw
romanian
chinese simplified
hungarian
russian
chinese traditional
indonesian
slovak
czech
italian
slovenian
danish
japanese
spanish
dutch
klingon
swedish
english
korean
thai
estonian
latvian
turkish
finnish
lithuanian
ukrainian
french
malay
urdu
german
maltese
vietnamese
greek
norwegian
welsh
haitian creole
persian
translate with
copy the url below
back
embed the snippet below in your site
" readonly>
enable collaborative features and customize widget: bing webmaster portal
back
劍指offer 重建二叉樹
重建二叉樹2.cpp 定義控制台應用程式的入口點。題目描述 輸入乙個二叉樹的前序遍歷和中序遍歷,輸出這顆二叉樹 思路 前序遍歷的第乙個節點一定是這個二叉樹的根節點,這個節點將二叉樹分為左右子樹兩個部分,然後進行遞迴求解 include stdafx.h include vector using na...
《劍指offer》重建二叉樹
輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如,則重建二叉樹並返回。輸入乙個樹的前序和中序,例如輸入前序遍歷序列和中序遍歷序列 根據輸入的前序和中序,重建乙個該二叉樹,並返回該樹的根節點。definition for binary...
劍指offer 重建二叉樹
題目描述 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。definition for binary tree struct treenode class solution if ...