给出两个字符串,你需要找到缺少的字符串
样例
样例 1:
输入 : str1 = "This is an example", str2 = "is example"
输出 : ["This", "an"]
注意事项
输出时字符串顺序为输入字符串内的顺序
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
vector<string> ret;
vector<string> copy;
unordered_map<string, int> mymap1;
string tmp = "";
for(int i = 0; i < str1.size(); i++)
{
if(str1[i] == ' ')
{
mymap1[tmp]++;
copy.push_back(tmp);
tmp = "";
}
else
{
tmp = tmp + str1[i];
if(i == str1.size() - 1)
{
mymap1[tmp]++;
copy.push_back(tmp);
}
}
}
tmp = "";
for(int i = 0; i < str2.size(); i++)
{
if(str2[i] == ' ')
{
//mymap2[tmp]++;
mymap1.erase(tmp);
tmp = "";
}
else
{
tmp = tmp + str2[i];
if(i == str2.size() - 1)
{
//mymap2[tmp]++;
mymap1.erase(tmp);
}
}
}
for(int i = 0; i < copy.size(); i++)
{
if(mymap1[copy[i]] >= 1)
ret.push_back(copy[i]);
}
return ret;
}
};