AVL 树 - 需要:字符串,找到:AVL
AVL tree - required: String, found: AVL
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
我看不出代码有什么问题。我做错了什么?
你的return类型是String,但是当t为null时,你returnt是AVLStringTreeNode
试试这个:
static String min ( AVLStringTreeNode t ) {
if( t == null )
return null;
while( t.left != null ) // location of error
t = t.left;
return t.val;
}
我认为你必须像这样重写你的 while 代码 -
while( t.left != null ){
if(t.left!=null){
t = t.left;
}
}
错误可能是因为一旦t.left
变为null。所以它检查空值。
希望对您有所帮助。
非常感谢。
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
我看不出代码有什么问题。我做错了什么?
你的return类型是String,但是当t为null时,你returnt是AVLStringTreeNode
试试这个:
static String min ( AVLStringTreeNode t ) {
if( t == null )
return null;
while( t.left != null ) // location of error
t = t.left;
return t.val;
}
我认为你必须像这样重写你的 while 代码 -
while( t.left != null ){
if(t.left!=null){
t = t.left;
}
}
错误可能是因为一旦t.left
变为null。所以它检查空值。
希望对您有所帮助。
非常感谢。