题解 | #KiKi学结构体和指针#

KiKi学结构体和指针

http://www.nowcoder.com/practice/0ab593ca56b1476eb05b1ff848fd7fcc

#include<stdio.h> int main() { struct numNode//结点的定义 { int data; struct numNodenext; }; int n,m; scanf("%d",&n); struct numNodeL=(struct numNode*)malloc(sizeof(struct numNode));//申请个头节点 L->next=NULL; struct numNode*r=L; for(int i=0;i<n;i++) { int val; scanf("%d",&val);

    struct numNode*s=(struct numNode*)malloc(sizeof(struct numNode));
    s->data=val;
    r->next=s;
    r=s;
    r->next=NULL;
}
scanf("%d",&m);
int count=0;
struct numNode*q=L;
while(q!=NULL)//删除结点
{
    if(q->data==m)
    {
        count++;
        L=q->next;
        q=q->next;
    }
    else if(q->next!=NULL&&q->next->data==m)
    {
        count++;
        q->next=q->next->next;
    }
    else 
        q=q->next;
}
printf("%d\n",n-count);
L=L->next;
for(int i=0;i<n-count;i++)
{
    printf("%d ",L->data);
    L=L->next;
}
return 0;

}

全部评论

相关推荐

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