删除链表中的节点

Posted shinered

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了删除链表中的节点相关的知识,希望对你有一定的参考价值。

写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。

因为函数只给定了一个参数,表面该节点就是要删除的结点。然后直接用下一个结点覆当前结点。

开始没想到,因为一般都是先找前一个结点,以及下一个结点,这道题是直接用下一个结点覆盖当前结点。

/**
 * Definition for singly-linked list.
 * struct ListNode 
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) 
 * ;
 */
class Solution 
public:
    void deleteNode(ListNode* node)     
    node->val = node->next->val;
    node->next = node->next->next;        
    
;

 

以上是关于删除链表中的节点的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode 237.删除链表中的节点

删除链表中的节点后,打印节点列表显示已删除节点

无法删除链表中的最后一个节点

删除链表中的第一个节点

题目地址(237. 删除链表中的节点)

237. 删除链表中的节点