從前序與中序遍歷序列構造二叉樹
根據一棵樹的前序遍歷與中序遍歷構造二叉樹。
注意:你可以假設樹中沒有重複的元素。
例如,給出
前序遍歷 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 ...