题目描述:
判断序列B是否是序列A的连续子序列(A,B是单链表)
算法思想:
类似于字符串匹配。
核心代码1:
int SubSequence(LNode* &La,LNode* &Lb)
{
LNode* pa=La->next;
while(pa!=NULL)
{
LNode* ra=pa->next;
LNode* pb=Lb->next;
while(pa!=NULL&&pb!=NULL)//加上pa!=NULL这个条件
{
if(pa->data==pb->data)
{
pa=pa->next;
pb=pb->next;
}
else
break;
}
if(pb==NULL)
return 1;
pa=ra;
}
return 0;
}
核心代码2:
bool match_A_B(LNode* &La,LNode* &Lb)//跟字符串匹配一个样
{
LNode* pa=La->next;
//LNode* ra=La->next;
LNode* ra;
LNode* pb=Lb->next;
while(pa!=NULL&&pb!=NULL)
{
ra=pa->next;
if(pa->data==pb->data)
{
pa=pa->next;
pb=pb->next;
}
else
{
pa=ra;
pb=Lb->next;
}
}
if(pb==NULL)
return true;
else
return false;
}