输入2个字符串其中,第一个字符串可能包含第二个字符串。输出其第一次出现位置,若不存在,则输出-1
输入格式:
输入2个字符串,长度均小于100
输出格式:
字符串的开始的位置
输入:
asdzichuanqewr
zichuan
输出:
3
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int BF(string s,string t)
{
int i=0,j=0;
while(i<s.size() && j<t.size())
{
if(s[i] == t[j])
{
i++,j++;
} else {
i = i-j+1;
j = 0;
}
}
return (j>=t.size())? (i-t.size()):-1;
}
int main()
{
string x,y;
getline(cin,x);
getline(cin,y);
int cnt = BF(x,y);
if(cnt == -1)
cout<<"-1"<<endl;
else
cout<<cnt<<endl;
return 0;
}