203. 移除链表元素
题目链接 虚拟头节点的技巧:防止头节点一开始就被删除,需要创建哑节点dummyHead。 注意链表的删除和数组元素数组删除指定元素的删除的不同点。但是他们都是利用指针进行控制
/**
* Definition for singly-linked list.
* function ListNode(val, next) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
*/
var removeElements = function(head, val) {
// 防止头节点被删除,建立哑结点
let dummyHead = new ListNode(0,head)
let pre = dummyHead,cur = head;
while(cur){
if(cur.val == val){
pre.next = cur.next;
cur = cur.next;
}
else{
pre = cur
cur = cur.next
}
}
return dummyHead.next
};