Top 150 des entrevuesFacile

Valider le BST

Guide détaillé et implémentation de Python pour le problème 'Valider BST'.

Énoncé du problème

Facile

Étant donné la racine d'un arbre binaire, déterminez s'il s'agit d'un arbre de recherche binaire (BST) valide.

Un BST valide est défini comme suit :

- Le sous-arbre gauche d'un nœud ne contient que des nœuds dont les clés sont strictement inférieures à la clé du nœud.

- Le sous-arbre droit d'un nœud ne contient que des nœuds dont les clés sont strictement supérieures à la clé du nœud.

- Les sous-arbres gauche et droit doivent également être des arbres de recherche binaires.

L'arborescence est représentée sous la forme d'une liste par ordre de niveaux. Implémentez une fonction isValidBST(root: list) -> bool.

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques aux arbres, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.