题意:
给你两个串,问你第二个第一个串是否是第一个串删除0个或多个字母得到的?
思路:
直接模拟就行了,在第二个串中去按顺序更新第一个串的下标,好像没说明白啊,不管了,水题,不理解直接看下代码就懂了。
#include<stdio.h>
#include<string.h>
char str1[1100000] ,str2[1100000];
int main ()
{
while(~scanf("%s %s" ,str1 ,str2))
{
int l1 = strlen(str1);
int l2 = strlen(str2);
if(l1 > l2)
{
puts("No");
continue;
}
int nowid = 0;
for(int i = 0 ;i < l2 ;i ++)
{
if(str2[i] == str1[nowid])
nowid ++;
if(nowid == l1) break;
}
nowid == l1 ? puts("Yes") : puts("No");
}
return 0;
}