劍指offer 重建二叉樹

2022-03-13 05:07:35 字數 1596 閱讀 3612

輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。

分析:

1.前序遍歷的第乙個為根結點,在中序遍歷中找到根結點的位置index

2.中序遍歷中index左邊的為左子樹的中序遍歷,假設結點個數為k,中序遍歷中index的右邊為右子樹的中序遍歷

3.前序遍歷中第乙個元素(根節點)後的k個元素的左子樹的前序遍歷,後面剩餘的元素為右子樹的前序遍歷

class

solution

}//為左右子樹確定中序遍歷的元素

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;}};

translate with

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 ...