我需要制作一个方法,使用递归移除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