题解 | #删除链表的节点#
删除链表的节点
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 };