Eyni ağaclar#7465

Eyni ağaclar

1 saniyə
128 meqabayt
Çox asan

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

IsSameTree metodunu həyata keçirin, hansı ki, ağacların eyni olub-olmadığını yoxlayır. İki ikili ağac eyni hesab olunur, əgər onların strukturları eynidirsə və müvafiq zirvələrdəki dəyərlər eynidirsə.

prb7463.gif

Aşağıdakı interfeysə uyğun kod 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 IsSameTree(Tree *p); // Əgər cari ağac p-yə bərabərdirsə 1 qaytar, əks halda 0 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 IsSameTree(Tree p); // Əgər cari ağac p-yə bərabərdirsə 1 qaytar, əks halda 0 qaytar
}

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ədləri ehtiva edir.

Üçüncü sətir m (1 ≤ m ≤ 100) ədədini ehtiva edir. Dördüncü sətir m tam ədədləri ehtiva edir.

Çıxış məlumatları

Giriş məlumatlarından iki İkili Axtarış Ağacı yaradın. Əgər onlar eynidirsə 1, əks halda 0 çıxarın.

Nümunələr

Nümunə 1

Loading
Loading