2015-06-04 21 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 –