为什么我的解决方案无法找到二叉树的最小深度?

时间:2018-10-14 14:09:02

标签: java algorithm debugging binary-search-tree

我不了解我的用于查找二叉树最小深度的解决方案如何不起作用?我在做什么错了?

如果您对此感到好奇,请访问以下链接: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 :(得分:2)

在只有一侧为 null 的情况下,您的代码将无效,例如

  3
 / \
   20
  /  \
 15   7

因为它将返回1(而3不是叶子)。

您需要测试一侧是否为,将其忽略并与另一侧打交道