150 principais entrevistasMédio

Subárvore de outra árvore

Guia detalhado e implementação de Python para o problema 'Subárvore de Outra Árvore'.

Declaração do problema

Médio

Dadas as raízes de duas árvores binárias root e subRoot, retorne verdadeiro se houver uma subárvore de raiz com a mesma estrutura e valores de nó de subRoot e falso caso contrário.

Uma subárvore de uma árvore binária é uma árvore que consiste em um nó na árvore e todos os descendentes desse nó. A árvore árvore também pode ser considerada uma subárvore dela mesma.

As árvores são representadas como listas de ordem de nível. Implemente uma função isSubtree(root: list, subRoot: list) -> bool.

Restrições
  • 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

Exemplos

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?
Considere usar estruturas de dados específicas de árvores, como conjuntos ou heaps.
Edge Cases to Watch
  • Estruturas de entrada vazias
  • Entradas de elemento único
  • Grandes limites numéricos

Pronto para resolver?

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

Abrir no 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 Python recomendados

Expanda seu conhecimento com tutoriais interativos relacionados, folhas de dicas e comparações de código.