從前序與中序遍歷構造二叉樹

2021-10-03 20:35:30 字數 921 閱讀 8918

從前序與中序遍歷序列構造二叉樹

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

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

例如,給出

前序遍歷 preorder =[3

,9,20

,15,7

]中序遍歷 inorder =[9

,3,15

,20,7

]

返回如下的二叉樹:

3

/ \ 9

20/ \

157

/**

* definition for a binary tree node.

* public class treenode

* }*/class

solution

//new 乙個根節點

treenode root =

newtreenode

(preorder[index]);

//在中序遍歷找前序遍歷根節點的位置 用i儲存

int i;

for(i =

0;iindex++

;//使用遞迴

root.left =

buildtree

(preorder,inorder,start,i)

; root.right =

buildtree

(preorder,inorder,i+

1,end)

;return root;

}public treenode buildtree

(int

preorder,

int[

] inorder)

}

從前序與中序遍歷序列構造二叉樹

題目描述 if inbegin inend 區間只有乙個結點,就是根結點 區間正常 int rootindex inbegin while rootindex inend 用前序的根劃分中序為兩個子區間 else 遞迴建立左子樹 root left buildtree preorder,pindex...

從前序與中序遍歷序列構造二叉樹

根據一棵樹的前序遍歷與中序遍歷構造二叉樹。注意 你可以假設樹中沒有重複的元素。例如,給出前序遍歷 preorder 3,9,20,15,7 中序遍歷 inorder 9,3,15,20,7 返回如下的二叉樹 3 9 20 15 7python definition for a binary tree...

從前序與中序遍歷序列構造二叉樹

根據一棵樹的前序遍歷與中序遍歷構造二叉樹。definition for a binary tree node.public class treenode class solution int rootidx left while rootidx right rootidx 前序 3 9 20 15 ...