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;

    }
}
posted @ 2020-10-23 20:58  肥泽~  阅读(67)  评论(0编辑  收藏  举报