static String min ( AVLStringTreeNode t ) {
if( t == null )
return t;
while( t.left != null ) // location of error
t = t.left;
return t.val;
}
AVLStringTreeNode的构造函数:
public class AVLStringTreeNode
{
public String val;
public int height;
public AVLStringTreeNode left, right;
}
错误:
incompatible types required: java.lang.String found: AVLStringTreeNode
我看不出代码有什么问题。我做错了什么?
答案 0 :(得分:1)
你的返回类型是String,但是当t为null时,你返回t,即AVLStringTreeNode。
试试这个:
static String min ( AVLStringTreeNode t ) {
if( t == null )
return null;
while( t.left != null ) // location of error
t = t.left;
return t.val;
}
答案 1 :(得分:1)
我认为你必须像这样重写你的代码 -
while( t.left != null ){
if(t.left!=null){
t = t.left;
}
}
可能会发生错误,因为一旦t.left
变为空。所以检查null。
希望它会有所帮助 非常感谢。