【发布时间】:2015-10-17 19:46:29
【问题描述】:
我正在编写代码来计算二叉树的最小深度
如果输入为 6、4、9、3、5、7、12、2、8,我的解决方案适用于树 BST
因为最小深度为 3,这是正确的。
但是当树为 3,2 时,最小深度为 1 而不是 2。
我的代码 sn-p 是:
int minimumHeightRec(TreeNode root)
{
if(root == null) return 0;
int left = minimumHeightRec(root.left);
int right = minimumHeightRec(root.right);
if(left > right) return right + 1;
else return left + 1;
}
【问题讨论】:
-
当您说“当树为 3,2 时”是指输入吗?在这种情况下,根节点为“3”,左节点为“2”,右节点为空;在这种情况下,返回 1 作为最小树深度是正确的。
-
是的......................................
标签: java algorithm recursion tree binary-search-tree