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.
给定一个了列表中的node,让你删除这个node,初一看,这不是坑爹吗?没法获取前一个node,这怎么删。然后转念一想,我可以将当前节点的值赋成下一个节点的值,然后删除下一个节点啊:
public class Solution {
public void deleteNode(ListNode node) {
if(node.next==null)
return;
node.val=node.next.val;
node.next=node.next.next;
}
}