int strStr(string s1, string s2) {
if(s1.find(s2)!=s1.npos)return s1.find(s2);
return -1;
}
string中find函数返回的是被查询字符串(s2)在查询字符串(s1)中匹配的第一个位置,若被查询字符串(s2)不在查询字符串(s1),则find的返回的是-1
有三种方法判断被查询字符串(s2)在查询字符串(s1):
1、s1.find(s2)!=-1;
2、s1.find(s2)!=s1.npos;
3、s1.find(s2)!=string::npos;
额外补充:
一:s1.find(s2,4)是从s1中下标为4开始查询
二:find()函数还可以查找字符
三:find_first_of()函数可以查找字符串的某个字符最先出现的位置,即它不是必须要查找的字符串在被查找的字符串中全部出现,而是出现个别字符即可,查找字符串中的字符顺序没有要求,查首先出现的字符