Почему мое решение не работает, чтобы найти минимальную глубину двоичного дерева? - PullRequest
0 голосов
/ 14 октября 2018

Я не понимаю, как не работает мое решение для определения минимальной глубины бинарного дерева?Что я делаю не так?

Вот ссылка на проблему, если вам интересно: https://leetcode.com/problems/minimum-depth-of-binary-tree/submissions/

public int minDepth(TreeNode root) {
    if(root == null) return 0;

    int left = minDepth(root.left);
    int right = minDepth(root.right);

    int ans = Math.min(left, right) + 1;

    return ans;
}

1 Ответ

0 голосов
/ 14 октября 2018

Ваш код не будет работать, если только одна сторона равна null , например,

  3
 / \
   20
  /  \
 15   7

, поскольку она вернет 1 (в то время как 3 не является листом).

Вам нужно проверить, равна ли одна сторона нулю , проигнорировать ее и разобраться с другой стороной

...