题解 | #牛牛的链表删除#
牛牛的链表删除
http://www.nowcoder.com/practice/d3df844baa8a4c139e103ca1b1faae0f
#include<stdio.h>
typedef struct link{
int elem;
struct link *next;
}link,*linklist;
int main(){
int n,x,i;
scanf("%d %d",&n,&x);
int a[n];
for(i=0;i<n;i++){
scanf("%d",&a[i]);
}
link *p=(link*)malloc(sizeof(link));
link *temp=p;
for(i=0;i<n;i++){
link *s=(link*)malloc(sizeof(link));
s->elem=a[i];
s->next=NULL;
temp->next=s;
temp=temp->next;
}
temp=p;
while(temp->next){//删除值为x的节点
if(temp->next->elem==x){
temp->next=temp->next->next;
}
temp=temp->next;
}
temp=p;
while (temp->next) {//不断后移输出
temp=temp->next;
printf("%d ",temp->elem);
}
}