class Solution {
public ListNode removeElements(ListNode head, int val) {
ListNode dummy=new ListNode(0);
dummy.next=head;
ListNode p=dummy;
ListNode q=head;
while(q!=null){
if(q.val==val){
p.next=q.next;
}else{
p=p.next;
}
q=q.next;
}
return dummy.next;
}
public ListNode removeElements(ListNode head, int val) {
ListNode dummy=new ListNode(0);
dummy.next=head;
ListNode p=dummy;
ListNode q=head;
while(q!=null){
if(q.val==val){
p.next=q.next;
}else{
p=p.next;
}
q=q.next;
}
return dummy.next;
}
}
用临时节点dummy,实际是同一个同一个链表,只是用不同节点,前后指的位置不同,head在前,dummy在后。