题目描述
给你两个字符串a和b,请问字符串a是否可以去掉若干个字符以后成为字符串b?。
输入
第一行是一个整数K,表示样例数。 以后每个样例占2行,分别为两个字符串a和b。字符串只有英文大写字母组成,长度不超过200。
输出
每行输出一个结果,如果包含,输出Yes,否则输出No。
样例输入
2 XATBBU XTU XATBBU UTX
样例输出
Yes No
思路:遍历短字符串,依次在长字符串中找到各字符就成立,即可遍历长字符串找到匹配字符时短字符串字符后退一位,最后通过短字符串读取的字符位数判断是否全部按顺序出现
#include<stdio.h>
#include<string.h>
int main()
{
int k;
scanf("%d",&k);
while(k--)
{
char a[200],b[200];
scanf("%s",a);
scanf("%s",b);
int i = 0;
for(int j = 0;j<strlen(a);j++)//遍历字符串a
{
if(a[j]==b[i])
i++;
}
//printf("%d\n",i);
if(i==strlen(b))
printf("Yes\n");
else
printf("No\n");
}
}