每日程式設計(二十七) 構造二叉樹

2021-09-12 02:31:33 字數 1103 閱讀 6860

題目描述:

根據一棵樹的前序遍歷與中序遍歷構造二叉樹。

注意:你可以假設樹中沒有重複的元素。

例如,給出

前序遍歷 preorder = [3,9,20,15,7]

中序遍歷 inorder = [9,3,15,20,7]

返回如下的二叉樹:

3
/

9 20

/ 15 7

分析:**:

/**

* definition for a binary tree node.

* type treenode struct

*/func buildtree(preorder int, inorder int) *treenode

if len(preorder)!=len(inorder)

n:=len(preorder)

root:=&treenode

for i:=0;i題目描述:

根據一棵樹的中序遍歷與後序遍歷構造二叉樹。

注意:你可以假設樹中沒有重複的元素。

例如,給出

中序遍歷 inorder = [9,3,15,20,7]

後序遍歷 postorder = [9,15,7,20,3]

返回如下的二叉樹:

3

/

9 20

/ 15 7

分析:與上題的解題思路沒有什麼差別,只是後序是左右根的形式,所以每次取後序中的最後乙個資料,注意邊界問題

**:

/**

* definition for a binary tree node.

* type treenode struct

*/func buildtree(inorder int, postorder int) *treenode

if len(inorder)!=len(postorder)

n:=len(inorder)

root :=&treenode

for i:=0;i}

return root

}

二叉樹構造

題目 輸入某二叉樹的前序遍歷和中序遍歷的結果,請重建出該二叉樹。假設輸入的前序遍歷和中序遍歷的結果中都不含重複的數字。例如輸入前序遍歷序列和中序遍歷序列,則重建二叉樹並返回。public int findvalptr vectorarr,int val return i 查詢子樹的根節點 publi...

構造二叉樹

題目 根據一棵樹的前序遍歷與中序遍歷構造二叉樹。注意 你可以假設樹中沒有重複的元素。例如,給出 前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 返回如下的二叉樹 3 9 20 15 7 理解從前序中可以直接找到根節點,然後從中序中找到這個根節點並...

構造二叉樹

例 前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 二叉樹 3 9 20 15 7 definition for a binary tree node.struct treenode class solution treenode buildtr...