每天一道算法题之重建二叉树
题目描述:
输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。1
分析: 采用递归
确定父节点,前序遍历的第一个值,就是父节点值
通过中序遍历,确定父节点的左子树的个数,从而可确定左子树的中序遍历和前序遍历 以及 右子树的中序遍历和前序遍历 ,调用递归即可;
base case:
前序遍历为空时,返回null,
前序遍历只有一个元素val,返回 new TreeNode(val)
代码:
private int[] pre;
原创
2020-08-11 09:56:22 ·
111 阅读 ·
0 评论