leetcode-105 从前序与中序遍历序列构造二叉树 2015年03月01日 Tree 留言 105. 从前序与中序遍历序列构造二叉树 难度: 中等 12345678910111213141516171819202122232425262728293031323334353637383940414243/** * Definition for a binary tree node. * type TreeNode struct { * Val int * Left *TreeNode * Right *TreeNode * } */func buildTree(preorder []int, inorder []int) *TreeNode { var root *TreeNode if len(preorder) < 1 || len(inorder) < 1{ return root } left := find(inorder,preorder[0]) if left < 0{ return root } root = &TreeNode{ Val:preorder[0], Left:buildTree(preorder[1:left+1],inorder[0:left]), Right:buildTree(preorder[left+1:],inorder[left+1:]), } return root}func find(inorder []int,target int) int { for i := 0; i < len(inorder);i++ { if target == inorder[i] { return i } } return -1} 文章目录 原文链接: https://dashen.tech/2015/03/01/leetcode-105-从前序与中序遍历序列构造二叉树/ 版权声明: 转载请注明出处.