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个节点,值为3,则调用你的函数后链表为1 -> 2 -> 4
struct ListNode{
int val;
ListNode *next;
ListNode(int x) :val(x), next(NULL){}
};
class Solution {
public:
void deleteNode(ListNode* node){
if (node == NULL) return;
node->val = node->next->val;
node->next = node->next->next;
}
};

本文介绍如何仅通过提供待删除节点的指针,实现删除单链表中(除末尾节点外)的一个节点的功能。以实例说明操作过程,并提供了相应的代码实现。
1万+

被折叠的 条评论
为什么被折叠?



