给定某二叉树的前序遍历和中序遍历,请重建出该二叉树并返回它的头结点。
在本科的数据结构课里经常会看到的题目,给定前序和中序遍历后重构二叉树,如果是用笔纸写的话很容易想明白:首先前序中的第一个节点就是树根,中序中该节点左面的都是其左子树,右面的都是右子树,接着再寻找。其实这个过程就是递归的过程,将改过程改为代码即可。
import java.util.*;
public class Solution {
public TreeNode reConstructBinaryTree(int [] pre,int [] in) {
if(pre == null