En İyi 150 RöportajOrta

İkili Ağaç Oluştur

'İkili Ağaç Oluşturma' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Orta

Ön sıranın bir ikili ağacın ön sıra geçişi olduğu ve inorder'ın aynı ağacın sıralı geçişi olduğu iki tamsayı dizisi ön sipariş ve inorder verildiğinde, ikili ağacı oluşturun ve döndürün.

Ağaç, düzey sırası listesi olarak döndürülmelidir. buildTree(preorder: list, inorder: list) -> list işlevini uygulayın.

Kısıtlamalar
  • 1 <= preorder.length <= 3000
  • inorder.length == preorder.length
  • -3000 <= preorder[i], inorder[i] <= 3000
  • preorder and inorder consist of unique values
  • Each value of inorder also appears in preorder
  • preorder is guaranteed to be the preorder traversal of the tree
  • inorder is guaranteed to be the inorder traversal of the tree

Örnekler

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

Preorder: root is 3. In inorder, 9 is to the left of 3 (left subtree) and [15,20,7] is to the right (right subtree). Recursively build: left subtree is just [9], right subtree has root 20 with children 15 and 7.

Example 2
Input
[-1], [-1]
Output
[-1]
Explanation

Single node tree.

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.