Write a function to delete a node (except the tail) in a singly linked list, given only access to that node.
Supposed the linked list is 1 -> 2 -> 3 -> 4 and you are given the third node with value 3, the linked list should become 1 -> 2 -> 4 after calling your function.
写一个功能来实现,在一个简单的链表中删除一个节点(除了尾节点),只允许访问该节点。
假设链表是1 - > 2 - > 3 - > 4,并且你被赋予值为3的第三个节点,在调用函数后,链表应该变为1 - > 2 - > 4。
/**
* 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;
}
}
我们无法真正的删除该节点,但是可以改变当前节点的值与 next 指针的指向。