给定两个字符串s1和s2,如果s1删除若干个字符后变成s2,则称s2为s1的子串,求s2在s1中的起始位置的最大值
输入描述:
只有一行 s1,s2 ,s1和s2用空格隔开,
s1和s2度不会含有空格
s1和s2的长度均大于1且小于256
输出描述:
如果s2不是s1的子串,请输出0,否则输出s2在s1中起始位置的最大值。
abcdacd ad
输出
5
#include <bits/stdc++.h>
using namespace std;
int main() {
string s1="abcdacd",s2="ad";
//cin>>s1>>s2;
int j=0;
string res;
for(int i=0;i<s1.size();i++){
int len=s2.size();
bool flag=false;
while(len--){
if(s1[i]==s2[len]){
flag=true;
break;
}else{
continue;
}
}
if(flag)res+=s1[i];
}
//cout<<res<<endl;.
if(res.find(s2)!=string::npos){
cout<<s1.find_last_of(s2[0])+1<<endl;
}else{
cout<<0<<endl;
}
return 0;
}