237. 删除链表中的节点

描述

请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点。传入函数的唯一参数为 要被删除的节点 。

解题思路

刚到手觉得题目有问题,输入值是节点本身却不提供头节点或上一个节点。点开评论区,看到有评论说复制下一个节点的值给自己才想到可以复制下一个节点然后删除下一个节点的操作。

代码如下:

class Solution {
    public void deleteNode(ListNode node) {
        node.val = node.next.val;
        ListNode temp = node.next;
        node.next = node.next.next;
        temp.next = null;
    }
}

运行结果:

执行用时:
0 ms, 在所有 Java 提交中击败了100.00%的用户
内存消耗:
37.8 MB, 在所有 Java 提交中击败了76.33%的用户

题解

和上述基本一致,就不给出了

小结

这道题很新颖,但不好,感觉是在考脑经急转弯。

添加新评论