Constructabinarytreefrompreorderandinordertraversalsequences题目描述:给定一棵树的先序遍历preorder和中序遍历inorder。请构造一棵二叉树并返回其根节点。例子见LeetCode官网。来源:LeetCode链接:https://leetcode-cn.com/probl...版权归LeetCode所有。商业转载请联系官方授权,非商业转载请注明出处。解法一:递归法递归构造二叉树。递归过程如下:如果前序遍历序列或中序遍历序列为空,则直接返回空树;因为前序遍历序列的第一个值是根节点,所以首先得到根节点;然后根据根节点在中序遍历中的位置,得到根节点左右子树的节点个数leftCount和rightCount;然后递归调用该方法得到当前根节点的左右子树;最后返回根节点。importcom.kaesar.leetcode.TreeNode;importjava.util.Arrays;publicclassLeetCode_105{publicstaticTreeNodebuildTree(int[]preorder,int[]inorder){//当前序遍历序列或中序遍历序列为空时,直接返回空树if(preorder==null||preorder.length==0){returnnull;}//先序遍历序列的第一个值为根节点TreeNoderoot=newTreeNode(preorder[0]);//左子树节点数intleftCount;//在中序遍历序列中,根节点左边的节点是根节点左子树的节点for(leftCount=0;leftCount
