AcWing 18. 重建二叉树
原题链接
中等
作者:
_empty
,
2020-05-06 23:08:44
,
所有人可见
,
阅读 774
- 身为21世纪的农民工,怎么能丢下Go语言呢嗯小盆友
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
func buildTree(preorder []int, inorder []int) *TreeNode {
if len(preorder) == 0 {
return nil;
}
RootValue := preorder[0]
i := 0
for ; i < len(inorder); i++ {
if inorder[i] == RootValue {
break
}
}
root := &TreeNode{
Val:preorder[0],
Left:buildTree(preorder[1:i + 1], inorder[0:i]),
Right:buildTree(preorder[i + 1:], inorder[i + 1:]),
}
return root
}