题解 | #删除链表的节点#
删除链表的节点
https://www.nowcoder.com/practice/f9f78ca89ad643c99701a7142bd59f5d
/*
* function ListNode(x){
* this.val = x;
* this.next = null;
* }
*/
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param head ListNode类
* @param val int整型
* @return ListNode类
*/
function deleteNode( head , val ) {
// 第一种方法
// if(!head) return null;
// let root=head,prev=null,cur=head;
// while(cur){
// if(cur.val==val){
// if(!prev){
// root=root.next;
// break;
// }
// prev.next=cur.next;
// break;
// }
// prev=cur;
// cur=cur.next;
// }
// return root;
//第二种方法,直接遍历找到节点
if(head.val==val){return head=head.next;}
let cur=head;
let pre=null;
while(cur.val!=val){
pre=cur;
cur=cur.next;
}
pre.next=cur.next;
return head;//返回删除后的头结点
}
module.exports = {
deleteNode : deleteNode
};
