[leetCode]203. 移除链表元素
哑节点
删除链表的某个节点只需要操作该结点前一个节点的指针,假如删除的节点为头节点,那么就可以设置一个哑节点指向头节点,这样就统一了删除操作。
class Solution {
public ListNode removeElements(ListNode head, int val) {
ListNode node = new ListNode(-1);
node.next = head;
ListNode prev = node;
ListNode cur = head;
while (cur != null) {
if (cur.val == val) {
prev.next = cur.next;
cur = cur.next;
} else {
prev = prev.next;
cur = cur.next;
}
}
return node.next;
}
}