poj 水题1936 求指教。给定两个字符串s,t。判断s是否是t的子序列。(t中字符可删减,但顺序不变)
it = (find(it ,t.end(),s[i])); //以前没用过这个函数,查了下了解你的想法,你是一个一个逐个对比
但是有个问题存在,那就是。如果s>t
如下情况,程序也会输出yes xihaa xiha
而题意s 是t的子列
我印象中还有find的其他方法,但是我知道一个更直接的一个函数strstr()
#include<fstream>
#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
bool IsSubstring(string s,string t)
{
return strstr(t.c_str(),s.c_str());
}
int main(int argc,char **argv)
{
// fstream cin(argv[1]);
string s,t;
while (cin>>s>>t)
{
if (IsSubstring(s,t))
{
cout<<"Yes"<<endl;
}
else
{
cout<<"No"<<endl;
}
}
// cin.close();
return 0;
}