Remove all elements from a linked list of integers that have value val.
Example
Given: 1 --> 2 --> 6 --> 3 --> 4 --> 5 --> 6, val = 6
Return: 1 --> 2 --> 3 --> 4 --> 5
删除链表中的指定元素,该元素可能有多个,需要注意的是:
1、判断head为空;
2、前后两个指针,以后面指针为准删除元素,注意最后判断头结点值;
code:
public static ListNode removeElements(ListNode head, int val) {
if(head==null)
return null;
else{
ListNode pre = head;
ListNode p = head.next;
while(pre!=null&&p!=null){
if(p.val==val){
pre.next = p.next;
p = pre.next;
continue;
}else{
p = p.next;
pre = pre.next;
}
}
if(head!=null&&head.val==val)
head = head.next;
return head;
}
}