原题:
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。
解题思路:
public void deleteNode(ListNode node) {
if(node == null){
return;
}
node.val = node.next.val;
node.next = node.next.next;
}
具体情况如下: