Construct Binary Tree from Inorder and Postorder Traversal

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

Example 1
        3
       / \
      9   20
         /  \
        15   7
Inputinorder = [9,3,15,20,7], postorder = [9,15,7,20,3]
Output[3,9,20,null,null,15,7]
The constructed binary tree has level-order traversal [3, 9, 20, null, null, 15, 7].
Example 2
        -1
Inputinorder = [-1], postorder = [-1]
Output[-1]
The only possible tree consists of a single node with value -1.

Constraints

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

Asked at 7 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