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

牛牛的链表删除

http://www.nowcoder.com/practice/d3df844baa8a4c139e103ca1b1faae0f

#include <stdio.h>
#include <stdlib.h>

typedef struct link{
    int data;
    struct link *next;
}Link;

int main(void)
{
    int len=0;
    int delvalue=0;
    int arr[10]={0};
    Link *head=(Link*)malloc(sizeof(Link));
    Link *temp=head;
    Link *lasttemp=NULL;
    
    scanf("%d %d",&len, &delvalue);
    for(int i=0;i<len;i++)
    {
        scanf("%d ", &arr[i]);
    }
    
    for(int j=0;j<len;j++)
    {
        Link *a=(Link*)malloc(sizeof(Link));
        a->data=arr[j];
        a->next=NULL;
        temp->next=a;
        temp=temp->next;
    }
    temp=head;
    
    for(int k=0;k<len;k++)
    {
        lasttemp=temp;
        temp=temp->next;
        if((temp->data)==delvalue)
        {
            Link *del=temp;
            lasttemp->next=lasttemp->next->next;
            //free(del);
        }        
    }
    temp=head;
    
    while(temp->next)
    {
        temp=temp->next;
        printf("%d ", temp->data);
    }
    
    return 0;
}
全部评论

相关推荐

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