力扣 105. 从前序与中序遍历序列构造二叉树 题解

力扣 105. 从前序与中序遍历序列构造二叉树 题解

根据一棵树的前序遍历与中序遍历构造二叉树。

注意:
你可以假设树中没有重复的元素。

例如,给出
前序遍历 preorder = [3,9,20,15,7]
中序遍历 inorder = [9,3,15,20,7]
返回如下的二叉树:

力扣 105. 从前序与中序遍历序列构造二叉树 题解_第1张图片

二叉树结构

public class TreeNode {
   
    int val;
    TreeNode left;
    TreeNode right;
    TreeNode() {
   }
    TreeNode(int val) {
    this.val = val; }
    TreeNode(int val, TreeNode left, TreeNode right) {
   
      this.val = val;
      this.left = left;
      this.right = right;
    }
}

思路

class Solution {
   
    public TreeNode buildTree(int[] preorder, int[] inorder) {
   
        return bulid(preorder,

你可能感兴趣的:(算法,数据结构,算法,二叉树,java,leetcode)