描述
给出两个字符串,你需要找到缺少的字符串
您在真实的面试中是否遇到过这个题?
是
样例
给一个字符串 str1 = This is an example
, 给出另一个字符串 str2 = is example
返回 ["This", "an"]
先将各个单词储存在容器里,然后使用STL中的find函数查找是否存在。
class Solution {
public:
/**
* @param str1: a given string
* @param str2: another given string
* @return: An array of missing string
*/
vector<string> missingString(string &str1, string &str2) {
// Write your code here
if(str1.size()<str2.size())
swap(str1,str2);
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;
}
};