目的:删除一个单链表的头节点。
实现:让头节点的value值为null,再新建一个节点(头节点的next节点),然后让头节点的next为null,这样头节点相当于删除了(next,value都为null了),再把新节点赋为头节点。
public void removeHead() {
if(head==null){
return;
}else if(head.next==null){
//只有一个节点
head.value=null;
head.next=null;
head=null;
tail=null;
}else {
head.value=null;//防止内存泄漏
Node<T> p=head.next;
head.next=null;
head=p;
}
}
时间复杂度O(1)。
版权声明:本文为weixin_47311994原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。