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

删除链表的节点

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
    //头节点值匹配
    if(head.val==val){
        //删除头结点
        head=head.next
        return head
    }
    //头结点指不匹配情况,cur指针指头结点
    let cur = head
    //当指针下一个值不为空
    while(cur.next){
        //判断下一个结点的值匹不匹配
        if(cur.next.val == val){
            //匹配就删除
            cur.next = cur.next.next
        }
        //指针后移
        cur = cur.next
    }
    return head
}
module.exports = {
    deleteNode : deleteNode
};
全部评论

相关推荐

香梨想要offer:人手一个muduo
点赞 评论 收藏
分享
想去夏威夷的小哥哥在度假:5和6才是重点
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务