Construct Binary Tree from Preorder and Inorder Traversal

Given two integer arrays preorder and inorder where preorder is the preorder traversal of a binary tree and inorder is the inorder traversal of the same tree, construct and return the binary tree.

Example 1
        3
       / \
      9   20
         /  \
        15   7
Inputpreorder = [3,9,20,15,7], inorder = [9,3,15,20,7]
Output[3,9,20,null,null,15,7]
The given preorder and inorder traversals uniquely reconstruct the binary tree [3,9,20,null,null,15,7].
Example 2
        -1
Inputpreorder = [-1], inorder = [-1]
Output[-1]
A single-node traversal reconstructs the single-node tree [-1].

Constraints

  • 1 <= preorder.length <= 3000
  • inorder.length == preorder.length
  • -3000 <= preorder[i], inorder[i] <= 3000
  • preorder and inorder consist of unique values.
  • Each value of inorder also appears in preorder.
  • preorder is guaranteed to be the preorder traversal of the tree.
  • inorder is guaranteed to be the inorder traversal of the tree.

Asked at 9 companies

</>

Your Solution

(Ctrl/Cmd + Enter)

Switching Language

Loading template...

Loading...

Sign in to save your progress

AI code evaluation

Get a correctness verdict, missed edge cases, and complexity analysis of your solution.

Sign in to evaluate