数字1是根节点,并将二叉树分成了(247)和(3568)两棵子树,而子树的的根也是相应前序序列的首位,比如左子树的根是数字2,右子树的根是数字3,这样我们就可以利用前序遍历序列找子树的根节点,利用中序遍历序列区分每个子树的节点数。
1. 分别是两个数组,返回的是当前数组的个数,是装着当前根节点左子树元素的数组(即leftpre和leftvin元素一样排列顺序不同)
//左子树的前序遍历
vector<int> leftpre(pre.begin() + 1, pre.begin() + i + 1);
//左子树的中序遍历
vector<int> leftvin(vin.begin(), vin.begin() + i);
2.