package main /** * 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 || len(preorder) != len(inorder) { return nil } root := TreeNode{preorder[0], nil, nil} return &root } func main() { printTree(buildTree( []int{3, 9, 20, 15, 7}, []int{9, 3, 15, 20, 7})) }