【发布时间】:2011-12-06 23:03:19
【问题描述】:
这是一种查找高度的递归方法,但我的二叉搜索树中有大量节点,我想找到树的高度并将高度分配给每个单独的子树.所以递归方法抛出stackoverflow异常,我如何非递归地做到这一点并且不使用堆栈?
private int FindHeight(TreeNode node)
{
if (node == null)
{
return -1;
}
else
{
node.Height = 1 + Math.Max(FindHeight(node.Left), FindHeight(node.Right));
return node.Height;
}
}
我相信我必须使用后序遍历但没有堆栈?
【问题讨论】: