LeetCode-删除中间节点

Posted Acapplella

tags:

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

困扰:之前了解到的删除节点的算法都是:知道了被删除结点的前驱节点和后继节点然后通过修改前驱节点的next就可以达到删除节点的目的。但是题目只给了被删除节点,却没有给被删除节点的前驱节点。因此一时不知道该怎样操作。
解决办法:将被删除节点的后继节点的值复制到被删除节点中,再将被删除节点的后继节点删除就可以了。
代码:Java

/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
public class Solution {
    public void deleteNode(ListNode node) {
        node.val = node.next.val;
        node.next = node.next.next;

    }
}

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

LeetCode 2095. 删除链表的中间节点

LeetCode 5943 删除链表的中间节点[双指针] HERODING的LeetCode之路

每日一题之LeetCode237删除链表中的节点876链表的中间节点

leetcode删除链表的中间节点,快慢指针和链表转数组再转回链表

leetcode删除链表的中间节点,快慢指针和链表转数组再转回链表

leetcode删除链表的中间节点,快慢指针和链表转数组再转回链表