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.

S: poniter operation

因为只能access要删除的的node,无法得到它前一个node,所以我们只能拷贝它的下一个node的所有信息到这个node然后删除下一个node node = node->next 等于

node->val = node->next->val;

node->next = node->next->next;

   void deleteNode(ListNode* node) {
        ListNode* next = node->next;
        *node = *(node->next);
        delete next;
}

results matching ""

    No results matching ""