判斷第一個字串是不是第二個字串的子字串
[心得]
1.很折騰人的 Runtime error,字串的字元個數要開到 100000
2.中文題目和原文題目不同,原題目要求輸入結束再一次輸出
3.當內迴圈的比對皆不相同,必須跳出,否則 i 會繼續往下加繼續從頭比對
#include <stdio.h>
#include <string.h>
int main()
{
int i,j,k,cnt=0;
char s[100000],t[100000];
int lenS,lenT;
int fail[100000]={0};
while(scanf("%s %s",s,t)!=EOF)
{
lenS=strlen(s);
lenT=strlen(t);
for(i=0,k=0;i<lenS;i++)
{
for(j=k;j<lenT;j++)
{
if(s[i]==t[j])
{
k=j+1;
break;
}
else if(j==lenT-1)
{
fail[cnt]=1;
break;
}
}
if(fail[cnt]) break;
}
cnt++;
}
for(i=0;i<cnt;i++)
{
if(fail[i]) printf("No\n");
else printf("Yes\n");
}
return 0;
}
留言列表