Sekcja DSAŚredni

Składane drzewo

Szczegółowy przewodnik i implementacja Python dla problemu „Składanego drzewa”.

Oświadczenie o problemie

Średni

Napisz funkcję is_foldable(tree_arr), która pobiera tablicową reprezentację drzewa binarnego tree_arr i sprawdza, czy drzewo można złożyć. Drzewo można złożyć, jeśli jego lewe i prawe poddrzewo są swoimi strukturalnymi zwierciadłami (wartość nie ma znaczenia, tylko struktura).

Ograniczenia
  • 0 <= len(tree_arr) <= 1000

Przykłady

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

Left child has right child 4. Right child has left child 5. Structures are symmetric mirrors.

Example 2
Input
tree_arr = [1, 2, 3, 4, None, 5, None]
Output
False
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.