这个问题和我的标题一样。我现在正在研究数据结构,并与这个问题作斗争。LinkedIn列表现在有一个假头,不可能再做一个全局变量。
public int numItems() {
just here is the all I can modify.
}
我认为要用递归来解决这个问题,必须要有一个参数,但是由于我是一个Noob程序员,我不确定我的观点。
我尝试了第一个不带参数的方法,它调用了另一个带参数的方法,如
public int numItems() {
return numItems(head);
}
public int numItmes(Node node) {
if(node.next == null) {
return 0;
} else {
return 1 + numItems(node.next);
}
}
使用Java的方法重载。但这也不是这个问题的正确答案。所以,如果你有任何想法,可以编码计数的元素在LinkedIn列表中使用递归,请让我知道...或者如果这是不可能的,也请告诉我,这是不可能的。
1条答案
按热度按时间z9smfwbn1#
您可以从第一个实际节点开始,而不是从“假设的”头开始,递归地计算链表中的元素数。
您的最终结果应该如下所示: