题目
输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。
假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
示例 1:
Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]
Output: [3,9,20,null,null,15,7]
示例 2:
Input: preorder = [-1], inorder = [-1]
Output: [-1]
一、思路
关于树的问题,最多的解法就是分治法与递归法,这里采取分治法,我们对每个子树都去调用建立二叉树函数,实现产生整个树。
二、代码
代码如下:
struct TreeNode* buildTree(int* preorder, int preorderSize