2015-06-04 22 views
0

我正在研究有关使用java的二叉查找树的问题。 TreeNode中内置类的名称。在上述方案中,它显示无法在TreeNode类中获得左/右

enter image description here

然而,当我做了实现我自己,我不能做“root.left”或“root.right”。我想知道我是否错过了什么?谢谢!

+0

什么是'TreeNode'的类定义? – Leukipp

+0

没有内置类TreeNode,是吗? – immibis

+0

@immibis是的。但它没有“左”或“右”。所以我不能在intellJ中做“root.left”或“root.right”.... – munmunbb

回答

2

访问左/右那样将意味着,以这种方式实现的树节点:

public class TreeNode<T> { 
    public TreeNode<T> right; 
    public TreeNode<T> left; 
    public T value; 
} 
+0

谢谢!这里的“T”代表什么? – munmunbb

+1

T是一个通用类型。通常可重用的数据结构(在本例中为树)使用“?”形式的泛型类型通配符。这是因为我们可能想要一个String或一个Integer树,所以我可以像这样定义每个实例:TreeNode nodeInt = new TreeNode ();或TreeNode nodeString = new TreeNode ();请阅读以下更详细的说明:https://docs.oracle.com/javase/8/docs/technotes/guides/language/generics.html –