Entrevista a los 150 mejoresfácil

Validar BST

Guía detallada e implementación de Python para el problema 'Validar BST'.

Declaración del problema

fácil

Dada la raíz de un árbol binario, determine si es un árbol de búsqueda binario (BST) válido.

Un BST válido se define de la siguiente manera:

- El subárbol izquierdo de un nodo contiene solo nodos con claves estrictamente menores que la clave del nodo.

- El subárbol derecho de un nodo contiene sólo nodos con claves estrictamente mayores que la clave del nodo.

- Tanto el subárbol izquierdo como el derecho también deben ser árboles de búsqueda binarios.

El árbol se representa como una lista de orden de niveles. Implementar una función isValidBST(root: list) -> bool.

Restricciones
  • The number of nodes in the tree is in the range [1, 10000]
  • -2^31 <= Node.val <= 2^31 - 1

Ejemplos

Example 1
Input
[2,1,3]
Output
True
Explanation

The left child 1 < root 2, and right child 3 > root 2. Valid BST.

Example 2
Input
[5,1,4,None,None,3,6]
Output
False
Explanation

The right child of root is 4, which is less than 5. Also, node 3 is in the right subtree of 5 but is less than 5. Not a valid BST.

Example 3
Input
[5,4,6,None,None,3,7]
Output
False
Explanation

Node 3 is in the right subtree of 5 but has value 3 < 5. Not valid.

Need a Hint?
Considere la posibilidad de utilizar estructuras de datos específicas de Trees, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Abrir en el editor
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.