Java中如何删除链表中的所有元素without使用已经可用的clear()
方法?这项练习的灵感来自于电话采访中收到的一个问题。
说我可以用 C 来做这个
void DeleteAllElement( ListElement **head ) {
ListElement *deleteMe = *head;
while( deleteMe ) {
ListElement *next = deleteMe->next;
delete deleteMe;
deleteMe = next;
}
*head = NULL;
}
Thanks
Java具有自动垃圾收集功能,因此只需将Head引用设置为null即可:
myList.headNode = null;
所以,假设我们有这样的课程LinkedList
,其中还有一个resetList
功能...
public class LinkedList{
private Node head;
public Node find(Key k){ ... }
public void add(Node n){ ... }
...
public void reset(){ head = null;}
public static void reset(LinkedList l){l.reset();}
}
如果我们不做head
节点私有,我们可以简单地执行我发布的第一个代码片段。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)