重建二叉树:最直观的想法是,前序数组pre,中序数组vin,首先判断pre数组的大小,如果为0则返回null,如果为1则返回构造节点pre[0],否则第一步将pre的第一个元素pre[0]构造为当前根节点,第二步在中序数组中找到pre[0]对应的下标k,第三步根据k来划分中序数组的前半部分和后半部分,第四步根据中序数组的前半部分大小划分前序数组的前半部分和后半部分,第五步使用前序数组的前半部分和中序数组的前半部分找到当前根节点的左孩子,第六步使用前序数组的后半部分和中序数组的后半部分找到当前根节点的右孩子,最后返回当前根节点。 TreeNode* dfs(vector<int> &...