#include<stdio.h>
#include<stdlib.h>
typedef struct a{
int num1;
struct a *next1;
}A;
typedef struct b{
int num2;
struct b *next2;
}B;
int main()
{
int num,count=1,count2=0,num0;
A *head1=NULL;
A *last1=NULL;
A *current1=NULL;
scanf("%d",&num);
while(num!=-1){
A *current1=(A*)malloc(sizeof(A));
current1->num1=num;
current1->next1=NULL;
if(head1==NULL){
head1=current1;
last1=current1;
}
else{
last1->next1=current1;
last1=current1;
}
scanf("%d",&num);
}
B *head2=NULL;
B *last2=NULL;
B *current2=NULL;
scanf("-1");
scanf("%d",&num);
while(num!=-1){
B *current2=(B*)malloc(sizeof(B));
current2->num2=num;
current2->next2=NULL;
if(head2==NULL){
head2=current2;
last2=current2;
}
else{
last2->next2=current2;
last2=current2;
}
scanf("%d",&num);
count++;
}
for(current1=head1,current2=head2;current1<=last1;current1=current1->next1){
if(current1->num1==current2->num2){
for(;current1->num1==current2->num2&¤t1!=NULL&¤t2!=NULL;current1=current1->next1,current2=current2->next2){
count2++;
}
if(current2!=NULL)
count2=0;
}
}
A *w=head1;
while(w){
free(w);
w=w->next1;}
B *u=head2;
while(u){
free(u);
u=u->next2;}
free(current1);
free(current2);
if(count2==count)
printf("ListB is the sub sequence of ListA.");
else
printf("ListB is not the sub sequence of ListA.");
}
请问大佬们我的代码错在哪了
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-