lc-go/solutions/1/q106/solution.go
2026-01-15 14:57:22 +09:00

26 lines
454 B
Go

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