我不了解我的用于查找二叉树最小深度的解决方案如何不起作用?我在做什么错了?
如果您对此感到好奇,请访问以下链接: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;
}
答案 0 :(得分:2)
在只有一侧为 null 的情况下,您的代码将无效,例如
3
/ \
20
/ \
15 7
因为它将返回1(而3
不是叶子)。
您需要测试一侧是否为空,将其忽略并与另一侧打交道