eolymp
bolt
Try our new interface for solving problems
Məsələlər

Tree Minimal dərinlik

Tree Minimal dərinlik

İkilik ağac verilmişdir. Minimal dərinliyi tapın. Minimal dərinlik kökə yaxın yarpağa qədər ən qısa yoldakı təpələrin sayı adlanır.

Ağacın təyini:

// Java
class TreeNode
{
public:
  int val;
  TreeNode left;
  TreeNode right;
  TreeNode(int x) {
    val = x;
    left = NULL; 
    right = NULL;
};
// C++
class TreeNode
{
public:
  int val;
  TreeNode *left;
  TreeNode *right;
  TreeNode(int x) : val(x), left(NULL), right(NULL) {}
};

Ağacın minimal dərinliyini qaytaran minDepth funksiyasını reallaşdırın.

// Java
int minDepth(TreeNode tree)
// C++
int minDepth(TreeNode *tree)

Misal

prb10109.gif

minDepth funksiyası 2 qiymətini qaytarır, belə ki, 5 kökündən yaxın 10 yarpağına qədər ən qısa yolda 2 təpə nöqtəsi var.

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 128 MiB
Müəllif Михаил Медведев