Top 150 des entrevuesMoyen

Sous-arbre d'un autre arbre

Guide détaillé et implémentation de Python pour le problème 'Sous-arbre d'un autre arbre'.

Énoncé du problème

Moyen

Étant donné les racines de deux arbres binaires root et subRoot, renvoie true s'il existe un sous-arbre de root avec la même structure et les mêmes valeurs de nœud de subRoot et false sinon.

Un sous-arbre d'un arbre binaire est un arbre composé d'un nœud dans l'arbre et de tous les descendants de ce nœud. L'arbre arbre pourrait également être considéré comme un sous-arbre de lui-même.

Les arbres sont représentés sous forme de listes classées par niveau. Implémentez une fonction isSubtree(root: list, subRoot: list) -> bool.

Contraintes
  • The number of nodes in the root tree is in the range [1, 2000]
  • The number of nodes in the subRoot tree is in the range [1, 1000]
  • -10000 <= root.val <= 10000
  • -10000 <= subRoot.val <= 10000

Exemples

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

The subtree rooted at node 4 in the main tree matches subRoot exactly.

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

The subtree rooted at 4 in the main tree has an extra node 0 under 2, so it doesn't match subRoot.

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.