Explore diversas soluciones LeetCode en Python, C++, JavaScript, SQL y TypeScript. Ideal para preparación de entrevistas, aprendizaje y práctica de código en múltiples lenguajes de programación. Enlace de repositorio de Github
Dadas dos matrices de enteros hacer un pedido y en orden dónde hacer un pedido es el recorrido en preorden de un árbol binario y en orden es el recorrido en orden del mismo árbol, construcción y retorno el árbol binario.
Ejemplo 1:

Aporte: preorden = [3,9,20,15,7], enorden = [9,3,15,20,7] Producción: [3,9,20,nulo,nulo,15,7]
Ejemplo 2:
Aporte: preorden = [-1], inorden = [-1] Producción: [-1]
Restricciones:
1 <= preorder.length <= 3000inorder.length == preorder.length-3000 <= preorden[i], inorden[i] <= 3000hacer un pedidoyen ordenconsistir en único valores.- Cada valor de
en ordenTambién aparece enhacer un pedido. hacer un pedidoes garantizado ser el recorrido previo del árbol.en ordenes garantizado ser el recorrido en orden del árbol.
Tabla de contenido
PalancaPitón
Complejidad de tiempo #: O(n) Complejidad de espacio #: O(n) de escribir importar Lista, Clase opcional Solución: def buildTree(self, preorder: List[int], inorder: List[int]) -> Opcional[NodoTree]: def dfs(izquierda: int, derecha: int): preorderIndex no local si izquierda > derecha: devuelve Ninguno rootValue = preorder[preorderIndex] raíz = NodoTree(rootValue) preorderIndex += 1 raíz.izquierda = dfs(izquierda, inorderMap[rootValue] - 1) raíz.derecha = dfs(inorderMap[rootValue] + 1, derecha) devuelve raíz preorderIndex = 0 inorderMap = {} para i, valor en enumerar(inorder): inorderMap[valor] = i devuelve dfs(0, len(inorder) - 1) preorder = [3, 9, 20, 15, 7] inorder = [9, 3, 15, 20, 7] print(Solution().buildTree(preorder, inorder))

