给出两个字符串,你需要找到缺少的字符串.
样例
给一个字符串 str1 = This is an example, 给出另一个字符串 str2 = is example
返回 ["This", "an"]
分解到vector中借助find函数
先把两个字符串都分解到vector中,以空格为标志,然后在借助find函数来找出两个vector中不同的单词。
vector<string> missingString(string str1, string str2)
{
if(str1.size()<str2.size())
swap(str1,str2); //保证str1是大的,最后是遍历s1到s2里去找
vector<string> s1;
vector<string> s2;
vector<string> res;
string tmp;
for(auto ss:str1)
{
if(!isspace(ss))
tmp+=ss;
else
{
if(!tmp.empty())
{
s1.push_back(tmp);
tmp.clear();
}
}
}
if(!tmp.empty())
{
s1.push_back(tmp);
tmp.clear();
}
for(auto ss:str2)
{
if(!isspace(ss))
tmp+=ss;
else
{
if(!tmp.empty())
{
s2.push_back(tmp);
tmp.clear();
}
}
}
if(!tmp.empty())
{
s2.push_back(tmp);
tmp.clear();
}
for(auto ss:s1)
{
if(find(s2.begin(),s2.end(),ss)==s2.end())
{
res.push_back(ss);
}
}
return res;
// Write your code here
}
网友评论