树
剑指 Offer 07. 重建二叉树
/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/
//前序二叉树,和中序二叉树的性质
//如何利用前序和中序序列构建二叉树
func buildTree(preorder []int, inorder []int) *TreeNode {
for index := range inorder{
if inorder[index] == preorder[0]{
return &TreeNode{
Val: preorder[0],
Left: buildTree(preorder[1:index+1],inorder[0:index]),
Right: buildTree(preorder[index+1:],inorder[index+1:]),
}
}
}
return nil
}