150 najlepszych wywiadówŚredni

Poddrzewo innego drzewa

Szczegółowy przewodnik i implementacja Python dla problemu „Poddrzewo innego drzewa”.

Oświadczenie o problemie

Średni

Biorąc pod uwagę korzenie dwóch drzew binarnych root i subRoot, zwróć wartość true, jeśli istnieje poddrzewo korzenia o tej samej strukturze i wartościach węzłów subRoot, w przeciwnym razie false.

Poddrzewo drzewa binarnego to drzewo składające się z węzła w drzewie i wszystkich potomków tego węzła. Drzewo można również uznać za samo w sobie poddrzewo.

Drzewa są reprezentowane jako listy o kolejności poziomów. Zaimplementuj funkcję isSubtree(root: list, subRoot: list) -> bool.

Ograniczenia
  • 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

Przykłady

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?
Rozważ użycie struktur danych specyficznych dla drzew, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.