题目描述
你设计了一个新的加密技术,可以用一种聪明的方式在一个字符串的字符间插入随机的字符串从而对信息进行编码。由于专利问题,我们将不会详细讨论如何在原有信息中产生和插入字符串。不过,为了验证你的方法,有必要写一个程序来验证原来的信息是否全在最后的字符串之中。
给定两个字符串 s 和 t,你需要判断 s 是否是 t 的“子列”。也就是说,如果你去掉 t 中的某些字符,剩下字符将连接而成为 s。
输入描述
输入包括多个测试样例。每一个都是由空格分隔的由字母数字 ASCII 字符组成的两个特定的字符串 s 和 t。s 和 t 的长度不超过 100000。
输出描述
对于每个测试样例,如果 s 是 t 的 “子列”,则输出 “Yes”,否则输出 “No”。
输入样例
sequence subsequence
person compression
VERDI vivaVittorioEmanueleReDiItalia
caseDoesMatter CaseDoesMatter
输出样例
Yes
No
Yes
No
子列:不要求位置连续的字符
子串:要求位置连续的字符
#include<iostream>
using namespace std;
int a[107];
int main()
{
string s, t;
while(cin>>s>>t){
int id = 0;
for(int i = 0; i < t.size(); i++)
if(s[id] == t[i]) id++;
if(id == s.size()) cout<<"Yes"<<endl;
else cout<<"No"<<endl;
}
return 0;
}