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

删除链表的节点

https://www.nowcoder.com/practice/f9f78ca89ad643c99701a7142bd59f5d

用一个空头链表接住输入列表,在用一个空结构体接住空列表头部,以前空列表的头就向后移动判断val是否相同,如果相同,就改变指向直接顶替掉。

struct ListNode* deleteNode(struct ListNode* headint val ) {

    // write code here

    struct ListNode* tmp  = (struct ListNode*)malloc(sizeof(struct ListNode));

     struct ListNode* tm  = (struct ListNode*)malloc(sizeof(struct ListNode));

    tmp->next  = head;

    tm = tmp;

    while(tmp->next){

       if(tmp->next->val == val){

           tmp->next = tmp->next->next;

           break;

       }

       tmp = tmp->next;

    }

    return tm->next;

}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务