class Solution {
public ListNode removeElements(ListNode head, int val) {
ListNode no=new ListNode(0);
no.next=head;
ListNode cur=head;
ListNode pre=no;
while(cur!=null){
if(cur.val==val){
pre.next=cur.next;
}else {
pre = cur;
}
cur=cur.next;
}
return no.next;
}
}
如果头节点也是要删除的元素,那么就不好处理了。这里借助哨兵节点,并指向头结点,然后建立两个节点进行删除。
本文介绍了一种在链表中删除所有指定值元素的方法,通过引入哨兵节点简化处理流程,确保即使头节点需要被删除也能正确操作。
582

被折叠的 条评论
为什么被折叠?



