DSA BölümüOrta

Ağaç İnşaatı

'Ağaç Yapımı' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Orta

Bir ikili ağacı ön sıra ve sıralı geçiş listelerinden yeniden oluşturan ve yeniden oluşturulan ağacın (boş düğümler için None ile bir liste olarak temsil edilir) düzey sıralı geçişini döndüren bir build_tree(preorder, inorder) işlevi yazın.

Kısıtlamalar
  • 1 <= len(preorder) <= 1000
  • inorder.length == preorder.length

Örnekler

Example 1
Input
preorder = [3, 9, 20, 15, 7], inorder = [9, 3, 15, 20, 7]
Output
[3, 9, 20, None, None, 15, 7]
Explanation

Preorder allows identifying the root 3. Inorder splits left subtree [9] and right subtree [15, 20, 7]. Reconstructed tree has level order [3, 9, 20, None, None, 15, 7].

Need a Hint?
Kümeler veya yığınlar gibi Ağaçlara özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

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

Editörde Aç
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

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.