/**
* Definition for a binary tree node.
* type TreeNode struct {
* Val int
* Left *TreeNode
* Right *TreeNode
* }
*/funcbuildTree(inorder []int, postorder []int)*TreeNode {iflen(postorder)==0{returnnil}
root :=&TreeNode {
Val : postorder[len(postorder)-1],
Left :nil,
Right :nil,}
i :=0for; i <len(inorder); i++{if root.Val == inorder[i]{break}}
root.Left =buildTree(inorder[:i], postorder[:i])
root.Right =buildTree(inorder[i+1:], postorder[i:len(postorder)-1])return root
}
LeetCode106. 从中序与后序遍历序列构造二叉树Golang版1. 问题描述2. 思路postorder[len(postorder) - 1]作为root在inorder中找到i,inorder[0:i]左,inorder[i+1:]右在postorder中,postorder[:i]左,postorder[i:len(postorder)-1]右3. 代码/** * Definition for a binary tree node. * type TreeNode st