问题描述
给定两个句子 s1
和 s2
,找出只出现在其中一个句子中而不同时出现在两个句子中的单词。
输入
两个字符串 s1
和 s2
。
输出
返回一个包含所有不常见单词的列表。
解法一
解题思路:
我们将两个句子拆分成单词,然后使用哈希表(字典)来统计每个单词在两个句子中出现的次数。最后,我们筛选出只出现一次的单词。
/*
* @lc app=leetcode.cn id=884 lang=javascript
*
* [884] Uncommon Words from Two Sentences
*/
// @lc code=start
function uncommonFromSentences(s1, s2) {
const count = {};
const words1 = s1.split(' ');
const words2 = s2.split(' ');
words1.forEach(word => {
count[word] = (count[word] || 0) + 1;
});
words2.forEach(word => {
count[word] = (count[word] || 0) - 1;
});
return Object.keys(count).filter(word => count[word] !== 0).map(word => word);
}
// @lc code=end