题解 | #牛牛的链表删除#

牛牛的链表删除

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);
    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务