En İyi 150 RöportajKolay

BST'yi doğrula

'BST'yi Doğrula' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

Bir ikili ağacın kökü verildiğinde, bunun geçerli bir ikili arama ağacı (BST) olup olmadığını belirleyin.

Geçerli bir BST şu şekilde tanımlanır:

- Bir düğümün sol alt ağacı yalnızca anahtarları düğümün anahtarından kesinlikle daha küçük olan düğümleri içerir.

- Bir düğümün sağ alt ağacı yalnızca anahtarları düğümün anahtarından kesinlikle büyük olan düğümleri içerir.

- Hem sol hem de sağ alt ağaçlar aynı zamanda ikili arama ağaçları olmalıdır.

Ağaç, düzey sıralı bir liste olarak temsil edilir. isValidBST(root: list) -> bool işlevini uygulayın.

Kısıtlamalar
  • The number of nodes in the tree is in the range [1, 10000]
  • -2^31 <= Node.val <= 2^31 - 1

Örnekler

Example 1
Input
[2,1,3]
Output
True
Explanation

The left child 1 < root 2, and right child 3 > root 2. Valid BST.

Example 2
Input
[5,1,4,None,None,3,6]
Output
False
Explanation

The right child of root is 4, which is less than 5. Also, node 3 is in the right subtree of 5 but is less than 5. Not a valid BST.

Example 3
Input
[5,4,6,None,None,3,7]
Output
False
Explanation

Node 3 is in the right subtree of 5 but has value 3 < 5. Not valid.

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.