AVL树 - 必需:字符串,找到:AVL

时间:2015-03-11 13:00:16

标签: java algorithm tree

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

我看不出代码有什么问题。我做错了什么?

2 个答案:

答案 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。

希望它会有所帮助 非常感谢。