题解 | #牛牛的链表删除#
牛牛的链表删除
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;
}
#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;
}