package q106 import "slices" type TreeNode struct { Val int Left *TreeNode Right *TreeNode } func buildTree(inorder []int, postorder []int) *TreeNode { if len(inorder) == 0 { return nil } val := postorder[len(postorder)-1] pos := slices.Index(inorder, val) return &TreeNode{ Val: val, Left: buildTree(inorder[0:pos], postorder[:pos]), Right: buildTree(inorder[pos+1:], postorder[pos:len(postorder)-1]), } } var _ = buildTree