[英]Java - AVL tree search
我已验证有关树t
实际上是AVL树。 我的问题是,无论搜索的字符串是否在树中, s
和s2
始终为null
。 我怀疑这比AVL树问题更像是递归问题。
t.val
产生节点字符串的值。 t.left
和t.right
产生节点的左和右子节点。
private static AVLTreeNode<String> search( AVLTreeNode<String> t, String x )
{
if( t==null ) return null;
if( t.val==x ) return t;
AVLTreeNode s=search(t.right,x);
AVLTreeNode s2=search(t.left,x);
if( s!=null ) return s;
return s2;
}
使用t.val.equals(x)
代替==
,一切都应该正常工作。 ==
检查两个对象是否具有相同的引用(完全相同的字符串,保存在内存中的相同位置), equals(Object)
检查两个对象的内容是否相等(取决于实现)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.