题目
给定单向链表中的某个节点的指针指针(中间节点),要求删除该节点
struct Node
{
Node *next;
Data data;
}
方法一
假设A->B->C,我们持有B的指针,要求删除B。
在这种情况下,不能简单的删除B节点,如果删除B,不能将A->C。
因此,如果我们删除C节点,同时,将C的数据拷贝给A,然后将B节点的next指向C的next。
也就是完全的将C中的数据拷贝给B,然后释放C,保留B
这样就达到了删除B节点的目的。
给定单向链表中的某个节点的指针指针(中间节点),要求删除该节点
struct Node
{
Node *next;
Data data;
}
假设A->B->C,我们持有B的指针,要求删除B。
在这种情况下,不能简单的删除B节点,如果删除B,不能将A->C。
因此,如果我们删除C节点,同时,将C的数据拷贝给A,然后将B节点的next指向C的next。
也就是完全的将C中的数据拷贝给B,然后释放C,保留B
这样就达到了删除B节点的目的。