Maksimal dərinlik İkili Ağac#7463

Maksimal dərinlik İkili Ağac

1 saniyə
128 meqabayt
Asan

Verilmiş tam ədədlər massivindən İkili Axtarış Ağacı qurun. Əgər daxil olunan dəyər cari zirvəyə bərabərdirsə, onu sağ alt ağaca daxil edin.

MaxDepth metodunu yaradın ki, bu, ağacın maksimum dərinliyini tapır. Maksimum dərinlik kökdən ən uzaq yarpağa qədər olan ən uzun yoldakı zirvələrin sayıdır.

prb7463.gif

Kodunuzu aşağıdakı interfeysə əsasən yazın:

// C, 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ədinin daxil edilməsi
  int MaxDepth(void);   // İkili Axtarış Ağacının maksimum dərinliyini qaytar
};
// Java
class TreeNode
{
  int val;
  TreeNode left;
  TreeNode right;
  TreeNode(int x)
  {
    val = x;
    left = null;
    right = null;
  }
}

class Tree
{
  TreeNode head;
  Tree();
  void Insert(int val); // İkili Axtarış Ağacına val ədədinin daxil edilməsi
  int maxDepth();       // İkili Axtarış Ağacının maksimum dərinliyini qaytar
}

Lazım olduqda əlavə metodlar yarada (istifadə edə) bilərsiniz.

Giriş məlumatları

Birinci sətir (1 \leq n \leq 100) ədədini ehtiva edir.İkinci sətir tam ədədini ehtiva edir.

Çıxış məlumatları

Giriş məlumatlarından İkili Axtarış Ağacı yaradın. Onun maksimum dərinliyini tapıb çıxışa verin.

Nümunələr

Nümunə 1

Loading
Loading