
class Solution {
public ListNode removeElements(ListNode head, int val) {
if (head == null) return null;
ListNode dummyHead = new ListNode(-1);
dummyHead.next = head;
ListNode pre = dummyHead;
while (head != null) { // 依次遍历待删除节点
if (head.val == val) {
pre.next = head.next;
}else {
pre = head;
}
head = head.next;
}
return dummyHead.next;
/*
ListNode dummyHead = new ListNode(-1);
dummyHead.next = head;
ListNode cur = dummyHead;
while (cur.next != null) { // 依次遍历待删除节点的前一个节点
if (cur.next.val == val) {
cur.next = cur.next.next;
}else {
cur = cur.next;
}
}
return dummyHead.next;
*/
}
}