文章作者:Tyan
博客:noahsnail.com | 优快云 | 简书
1. Description

2. Solution
- Version 1
class Solution {
public:
vector<string> uncommonFromSentences(string A, string B) {
vector<string> result;
unordered_map<string, int> m;
string s;
for(char ch : A) {
if(ch != ' ') {
s += ch;
}
else {
m[s]++;
s = "";
}
}
m[s]++;
s = "";
for(char ch : B) {
if(ch != ' ') {
s += ch;
}
else {
m[s]++;
s = "";
}
}
m[s]++;
for(auto pair : m) {
if(pair.second == 1) {
result.emplace_back(pair.first);
}
}
return result;
}
};
- Version 2
class Solution {
public:
vector<string> uncommonFromSentences(string A, string B) {
vector<string> result;
unordered_map<string, int> m;
istringstream strA(A);
string s;
while(strA >> s) {
m[s]++;
}
istringstream strB(B);
while(strB >> s) {
m[s]++;
}
for(auto pair : m) {
if(pair.second == 1) {
result.emplace_back(pair.first);
}
}
return result;
}
};
本文探讨了LeetCode上关于从两个句子中找出不常见单词的问题,提供了两种解决方案,一种使用字符串操作逐字符处理,另一种利用istringstream简化输入处理。通过分析字符串并使用unordered_map来统计每个单词出现的次数,最终返回只出现一次的单词。
398

被折叠的 条评论
为什么被折叠?



