pattern 可以跨 strings查找匹配
pattern 可以跨 strings, 但是必須要是連續的, 注意是 iterable, 所
以是不能回頭的
我是 stringBuffer 去保存已經⾛過的部分, 如果不 match rewind
的時候就從 stringBuffer 裡⾯的 character 開始 check
不夠再從 iterater 拿
boolean contains(String pattern, Iterable
没有OJ,不知道以下是否正确
bool contains(string pattern, Iterable<String> strs)
{
vector<int> next=getNext(pattern);
string s="";
int start=0,si=0,si=0;
while(1)
{
while(strs.hasNext())
{
s+=strs.getNext();
}
while(si<(int)s.length() && sj<(int)pattern.size())
{
if(sj==-1 || s[si]==pattern[sj])
{
si++;sj++;
}
else
{
sj=next[sj];
}
}
if(sj==pattern.size())return true;
else
{
//不知道这样是否可以合理给下一次循环使用
s=substr(si-sj);
si=0;
}
}
return false;
}