题目 - Delete Node in a Linked List
难度:简单
分析
对于基本的数据结构-链表,我们通常删除链表中的一个节点,都是传入两个参数,即一个链表,一个节点。
根据题目描述,现在只传入一个参数,即要删除的节点。
由于是单向链表,所以我们也无法找到前驱结点。
我们来思考一下,删除链表中的节点,并不是彻底删除这个节点,free节点。
而是通过改变节点的值与后继,从而达到删除的效果
代码
class Solution {
public:
void deleteNode(ListNode* node) {
node->val = node->next->val;
node->next = node->next->next;
}
};