2011-12-18 79 views
1

我想弄清楚如何編寫一個方法,該方法將修改鏈接列表中的最後一個節點,並在傳遞時將其從null更改爲第一個節點鏈表中的第一個指針。Java中的LinkedLists;使列表中的最後一個節點指向第一個節點,而不是包含空

我想這裏面變成了一個錯誤:

public void blah() 

{ 

Node p = first; 

while (p != null) 

{ 

p = p.link; 

} 

p.x = p.first; 
} 
+0

public void blah() { Node p = first; while(p!= null) { p = p.link } p.x = p.first; } – user1096713 2011-12-18 21:26:17

+0

什麼是例外?通常他們有助於診斷問題。 – Paul 2011-12-18 21:46:26

回答

2

試試這個:

public void blah() { 
    Node p = first; 
    while (p.link != null) { 
     p = p.link; 
    } 
    p.link = first; 
} 

要知道,這將創建一個循環鏈表,這就是你想要什麼,對不對?此外,我假設firstblah()所在類別的屬性。

1

這會爲你做的工作。

public void blah(Node list){ 
    Node firstNode = list; 
    while (list.link != null){ 
     list = list.link; 
    } 
    list.link = firstNode; 
} 

您在代碼中使用的'first'引用表明其成員變量。如果您想詳細瞭解Java中的單鏈接列表,請參閱此link

相關問題