1、原题:牛客网---重建二叉树
2、分析
首先涉及到二叉树的,特别是与遍历有关的,大家一定要有一个意识,那就是递归,代码简洁。
然后,要想根据遍历结果重建这棵二叉树,我们必须要清晰二叉树不同顺序遍历的结果特征:
1)先序遍历的第一个节点 是二叉树的根节点
2)根据先序找到根节点,然后再到中序遍历中查看根节点的位置,从而可以把中序遍历中根节点左边的划分为左子树,右边的划分为右子树
3)划分出中序的左子树与先序属于左子树的部分,再次递归步骤1)、2)逐层递归直到节点为null,,那么此时root的左子树构建完成
4)类似3)的思想构建root的右子树’
3、代码
public class Solution {
public TreeNode reConstruct