删除链表的结点

原创 2018年04月17日 20:27:39

删除链表的结点

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

比如:假设该链表为 1 -> 2 -> 3 -> 4  ,给定您的为该链表中值为 3 的第三个节点,那么在调用了您的函数之后,该链表则应变成 1 -> 2 -> 4 。

这道题让我们删除链表的一个节点,更通常不同的是,没有给我们链表的起点,只给我们了一个要删的节点,跟我们以前遇到的情况不太一样,我们之前要删除一个节点的方法是要有其前一个节点的位置,然后将其前一个节点的next连向要删节点的下一个,然后delete掉要删的节点即可。这道题的处理方法是先把当前节点的值用下一个节点的值覆盖了,然后我们删除下一个节点即可,代码如下:

class Solution {
public:
    void deleteNode(ListNode* node) {
        node->val = node->next->val;
        ListNode *ls = node->next;
        node->next = ls->next;
        delete ls;
    }
};

删除链表中重复的结点JAVA

思路:定义四个结点,前结点prenode,当前结点node,下一个结点nextnode,删除结点delnode,在遇到删除结点时候要保证prenode连接上nextnode,防止断裂情况。public...
  • qq_16687803
  • qq_16687803
  • 2015-06-17 14:59:13
  • 1711

[LeetCode-203] Remove Linked List Elements(链表节点删除)

Remove all elements from a linked list of integers that have value val.Example Given: 1 –> 2 –> 6 –...
  • xy010902100449
  • xy010902100449
  • 2015-09-14 10:54:54
  • 328

删除排序链表中重复的结点

题目:在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5 思路:用递归删除,...
  • Bryan__
  • Bryan__
  • 2016-09-05 16:38:48
  • 1715

LeetCode--Delete Node in a Linked List(删除链表中的节点)Python

题目: 给定一个链表中间的一个节点,已知这个节点不是链表的尾部。删除这个给定的节点。 解题思路: 直接把当前节点的值替换为下个节点的值。并把当前节点的next替换为下个节点的next。 代码(...
  • xiaoxiaoley
  • xiaoxiaoley
  • 2017-12-04 11:09:30
  • 65

删除链表最后尾节点(1319 P103)

问题:删除一个链表最后一个节点,只知道首节点first. 思路:因为只知道首节点,所以只能历遍链表,找到最后两个节点,将倒数第二个节点的next定义为null,无法关联最后一个节点,就可以实...
  • hacker_crazy
  • hacker_crazy
  • 2017-08-12 21:54:48
  • 1130

C语言实现链表之单向链表(八)删除尾结点

C语言实现链表之单向链表(八)删除尾结点     上一篇文章给出了在尾结点之后插入结点的函数,本篇文章将给出删除尾结点的函数。 /*============================...
  • dan15188387481
  • dan15188387481
  • 2015-11-08 21:13:41
  • 1581

《剑指offer》删除链表中重复的结点

【 声明:版权所有,转载请标明出处,请勿用于商业用途。  联系信箱:libin493073668@sina.com】 题目链接:http://www.nowcoder.com/p...
  • libin1105
  • libin1105
  • 2015-09-13 22:17:38
  • 974

LeetCode 237 删除单链表中某一个结点

题意:现在要删除某一个单链表中的某一个结点,只已知这个结点,其他信息均不知。 题解:假如给定:A->B->C->D->E->F     现在要删除C,但是并不知B,也就是不能通过B来删除C,但是我们...
  • patkritLee
  • patkritLee
  • 2016-02-01 21:56:11
  • 299

链表——删除排序链表的重复结点(一个都不保留)

题目:删除排序链表中的所有重复结点,只留下没有重复过的那些结点。For example,Given1->2->3->3->4->4...
  • jingsuwen1
  • jingsuwen1
  • 2016-05-09 15:36:22
  • 419

O(1)时间删除链表结点java

题目: 给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。 思路:把下一结点的内容复制到需要删除的结点,删除下一结点,相当于删除当前结点。   当我们想删除一个结点时,并不一...
  • u013238950
  • u013238950
  • 2016-03-06 10:07:55
  • 1072
收藏助手
不良信息举报
您举报文章:删除链表的结点
举报原因:
原因补充:

(最多只允许输入30个字)