Construct Binary Tree from Preorder and Inorder Traversal

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

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.
Saving… · 11 lines
# Definition for a binary tree node.
# class TreeNode:
# def __init__(self, val=0, left=None, right=None):
# self.val = val
# self.left = left
# self.right = right

class Solution:
def construct_binary_tree_from_preorder_and_inorder_traversal(self, preorder: List[int], inorder: List[int]) -> TreeNode:


Console

Click Run to execute sample tests.