63.删除链表中的节点

请编写一个函数,用于 删除单链表中某个特定节点 。在设计函数时需要注意,你无法访问链表的头节点 head ,只能直接访问 要被删除的节点 。

题目数据保证需要删除的节点 不是末尾节点 。

/*
方法、投机取巧
因为题目只给了要删除的节点,我们无法拿到其上一个节点,所以,我们要迂回一下想法。

我们可以把下一个节点的值赋值给当前节点,然后,把下一个节点删除,这有点投机取巧。
*/
/**
 * Definition for singly-linked list.
 * public class ListNode {
 *     int val;
 *     ListNode next;
 *     ListNode(int x) { val = x; }
 * }
 */
class Solution {
    public void deleteNode(ListNode node) {
        node.val = node.next.val;
        node.next = node.next.next;
    }
}

 

posted @ 2022-03-17 09:12  随遇而安==  阅读(29)  评论(0编辑  收藏  举报