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;

}