删除链表中等于给定值 val 的所有节点。
示例:
输入: 1->2->6->3->4->5->6, val = 6 输出: 1->2->3->4->5
public ListNode removeElements(ListNode head, int val) {
//返回的ListNode
ListNode res=new ListNode(0);
//用于储存上一个的ListNode
ListNode up= res;
res.next=head;
while(head!=null){
if(head.val==val){
head = delect(up);
}else {
up = head;
head=head.next;
}
}
return res.next;
}
public ListNode delect(ListNode zrohead) {
if (zrohead.next.next != null) {
ListNode ne = zrohead.next.next;
zrohead.next = null;
zrohead.next = ne;
} else {
zrohead.next = null;
}
return zrohead.next;
}
删除链表指定值元素
本文介绍了一种从链表中删除所有等于给定值节点的方法。通过使用虚拟头节点和双指针技术,实现了一个高效且简洁的算法。该算法能够遍历链表,并在遇到目标值时跳过相应的节点。
985

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



