237. Delete Node in a Linked List
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.
We cannot get the previous node but only the given node, so we can replace this node with the val of node.next, then delete the next node.
class Solution(object):
def deleteNode(self, node):
node.val = node.next.val
node.next = node.next.next