Binari Ağacın Minimal Dərinliyi
Zaman limiti 1 saniyə-dir
Yaddaş məhdudiyyəti 64 meqabayt
Verilmiş tam ədədlər massivindən bir İkili Axtarış Ağacı qurun. Əgər əlavə edilən ədəd mövcud zirvəyə bərabərdirsə, onu sağ alt ağaca əlavə edin.
MinDepth
metodunu həyata keçirin ki, bu metod ağacın minimal dərinliyini tapsın. Minimal dərinlik, kökdən ən yaxın yarpağa qədər olan ən qısa yolun zirvələrinin sayıdır.
Aşağıdakı interfeysə uyğun kod yazın:
// C++ class TreeNode { public: int val; TreeNode *left; TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) {} }; class Tree { public: TreeNode *head; Tree() : head(NULL) {}; void Insert(int val); // İkili Axtarış Ağacına val ədədini əlavə edin int MinDepth(void); // İkili Axtarış Ağacının minimal dərinliyini qaytarın };
Lazım olduqda əlavə metodlar yarada (istifadə edə) bilərsiniz.
Giriş məlumatları
Birinci sətir ədədini ehtiva edir. İkinci sətir tam ədədləri ehtiva edir.
Çıxış məlumatları
Giriş məlumatlarından İkili Axtarış Ağacı yaradın. Onun minimal dərinliyini tapın və çıxarın.
Nümunələr
Giriş #1
Çıxış #1
Təqdimatlar 400
Qəbul dərəcəsi 42%