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.

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public:
void (ListNode* node) {
if (node == NULL)
return;
ListNode *tmp = node->next;
node->val = tmp->val;
node->next = tmp->next;
free(tmp);
}
};