删除链表的节点
题目描述
示例
示例1
js
输入:
{2,5,1,9},5
返回值:
{2,1,9}
说明:
给定你链表中值为 5 的第二个节点,那么在调用了你的函数之后,该链表应变为 2 -> 1 -> 9
示例2
js
输入:
{2,5,1,9},1
返回值:
{2,5,9}
说明:
给定你链表中值为 1 的第三个节点,那么在调用了你的函数之后,该链表应变为 2 -> 5 -> 9
代码
js
/*
前一个节点pre
当前节点 current
current = current.next
pre.next = current
*/
function deleteNode( head , val ) {
let dummy = new ListNode(-1) // 虚拟头结点
dummy.next = head
let pre = dummy
let current = head
while(current){
if(current.val === val){
current = current.next
pre.next = current
}else {
current = current.next
pre = pre.next
}
}
return dummy.next
}