【发布时间】:2014-04-28 02:14:45
【问题描述】:
我正在使用递归来查找 BST(二叉搜索树)中的最短路径,最短路径应该是找到的第一个无子叶。每当我回来时,它都会给我回根。我尝试了许多不同的方法,要么继续获取 nullPointerException 的根。这是我所拥有的
public int minPath(){
if(isEmpty()){
return -1;
}
else{
return findMin(root);
}
}
private int findMin(IntegerTreeNode tNode){
if((tNode.left != null) && (tNode.right != null)){
findMin(tNode.left);
findMin(tNode.right);
}
return tNode.item;
}
我认为正在发生的事情是它正在返回堆栈的开头,那么我将如何返回第一个无子叶节点?
【问题讨论】: