我需要製作一個方法,使用遞歸移除LinkedList的最後一個元素。 這是我迄今爲止,但它似乎並沒有刪除節點...當我調用list.size()它仍然是相同的大小相同的值。我在這裏做錯了什麼? 這是Java的方式嘗試使用遞歸創建removeLastElement
public void removeLastElement(Node curr){
if (curr == null)
return;
else{
if(curr.next == null)
curr = null;
else
removeLastElement(curr.next);
}
}
你給節點參數的方法,所以它意味着你一定知道它是最後一個元素,那麼爲什麼你使用一種方法和更有趣的「遞歸」來刪除最後一個元素althoguh你已經知道哪個是你列表中的最後一個元素? – Juvanis 2012-03-14 05:08:39
我認爲你必須先遍歷節點......像'curr = curr.next'之類的東西,然後將removeLastElement(curr );' – 2012-03-14 05:12:05
我的家庭作業要求我們使用遞歸。我想我們不應該使用節點參數呢?從你的回答中判斷。 – user1267952 2012-03-14 05:13:17