题目描述
给你两个字符串a和b,请问字符串a是否可以去掉若干个字符以后成为字符串b?。
输入
第一行是一个整数K,表示样例数。 以后每个样例占2行,分别为两个字符串a和b。字符串只有英文大写字母组成,长度不超过200。
输出
每行输出一个结果,如果包含,输出Yes,否则输出No。
样例输入
2 XATBBU XTU XATBBU UTX样例输出
Yes No
解题思路:遍历a数组,依次比较,确认a字符串是否包含b字符串。
AC代码:
#include <stdio.h>
#include <string.h>
int main()
{
int K,len1,len2;
char a[210],b[210];
scanf("%d",&K);
while ( K --)
{
int cnt = 0;
scanf("%s %s",a,b);
len1 = strlen(a), len2 = strlen(b);
for (int i = 0; i < len1; i ++) // 遍历a数组,如果找到完整的b字符串,输出Yes
{
if (a[i] == b[cnt]) cnt ++;
if (cnt == len2) break;
}
if (cnt == len2) puts("Yes");
else puts("No");
}
return 0;
}