此处只有代码,基本思想是递归,唯一需要注意的是递归的出口,以避免数组越界: /** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { //使用 pre[pl,pr] 和 vin[vl,vr] 重构一个二叉树并返回其根节点值 Tree...