【数据结构】(单链表)递归删除值为 x的节点(不带头节点)
程序员文章站
2024-03-21 14:36:58
...
算法思想:其实就是递归查找然后判断删除。注意:这里由于传递的是引用所有不会断链
void Delete_x(LinkList &head,int x){
if(head==NULL) return;
if(head->data==x){
LNode *p; //临时结点
p=head;
head=head->next; //这里是因为递归调用传的为引用所以 不会断链
free(p);
Delete_x(head,x); //因为是引用传递并且已经将head的next'赋值给了head了
}else{
Delete_x(head->next,x);
}
}