【发布时间】:2013-11-13 08:25:15
【问题描述】:
我正在尝试递归地将一个元素附加到链接列表的末尾。但是,似乎没有添加任何内容。我使用了一个私有的辅助方法,所以我可以使用引用作为参数。我没有遇到任何异常,但是,我的测试用例显示没有任何内容添加到列表中!我不知道自己做错了什么,也不知道从哪里开始。非常感谢您的帮助。
public void addLast(E element) {
addLast(element,first);
}
private void addLast(E element, Node ref) {
if (ref == null) {
ref = new Node(element);
n++;
} else if (ref.next == null) {
ref.next = new Node(element);
n++;
} else {
addLast(element, ref.next);
}
}
【问题讨论】:
-
首先,什么是n?您的问题是列表始终为空吗?如果是,则尝试将第一个 if 块下的 'ref = new Node(element)' 更改为 first = new Node(element),其中 'first' 是列表的头指针。
-
您能否发布一个导致空 LinkedList 的示例?
标签: java recursion nodes singly-linked-list