题解 | #删除链表的节点#

删除链表的节点

http://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 ) {
    // write code here
    //直接遍历,找到该节点,将pre和next节点连接在一起即可。
    //注意特殊输入,val是链表头端的情况;注意输入的val是值不是节点,与节点.val进行比较
    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
};
全部评论

相关推荐

美丽的查理斯不讲武德:包kpi的啊,感觉虾皮一点hc都没有
点赞 评论 收藏
分享
评论
1
收藏
分享
牛客网
牛客企业服务