Ağacın tərsinə çevrilməsi
Zaman limiti 1 saniyə-dir
Yaddaş məhdudiyyəti 64 meqabayt
Zədəf tam ədədlər massividir. Bu ədədlərdən İkili Axtarış Ağacı qurun. Əgər əlavə edilən dəyər mövcud zirvəyə bərabərdirsə, onu sağ alt ağaca əlavə edin.
InvertTree
metodunu həyata keçirin, bu metod ikili ağacı tərsinə çevirir.
Tərsinə çevrilmiş ağac:
Aşağıdakı interfeysə uyğun olaraq kod yazın:
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ədinin əlavə edilməsi void InOrder(void); // InOrder keçidi zamanı İkili Axtarış Ağacının elementlərini çıxarın void InvertTree(void); // İkili Axtarış Ağacının tərsinə çevrilməsi };
Lazım olduqda əlavə metodlar yarada və ya istifadə edə bilərsiniz.
Giriş məlumatları
Birinci sətir n (1 ≤ n ≤ 100) ədədini ehtiva edir. İkinci sətir n tam ədəd ehtiva edir.
Çıxış məlumatları
Giriş məlumatlarından İkili Axtarış Ağacı yaradın. InvertTree metodundan istifadə edərək ağacı tərsinə çevirin. InOrder metodundan istifadə edərək tərsinə çevrilmiş İkili Axtarış Ağacının elementlərini çıxarın.
Nümunələr
Giriş #1
Çıxış #1
Təqdimatlar 468
Qəbul dərəcəsi 70%