解题思路
- 先将两个字符串的单词分割到数组中
- 使用Map集合统计两个字符串中每个单词的数量
- 遍历两个map集合,判断是否另个map集合没有这个单词,且当前字符串该单词出现的频率为1
代码
/**
* @param {string} s1
* @param {string} s2
* @return {string[]}
*/
var uncommonFromSentences = function(s1, s2) {
const arr1 = s1.split(" ");
const arr2 = s2.split(" ");
const map1 = new Map();
const map2 = new Map();
const arr = [];
arr1.forEach(item=>{
if(map1.has(item)){
map1.set(item,map1.get(item)+1)
}else{
map1.set(item,1);
}
})
arr2.forEach(item=>{
if(map2.has(item)){
map2.set(item,map2.get(item)+1)
}else{
map2.set(item,1);
}
})
for (const [key,value] of map1){
if(!map2.has(key)&&value==1){
arr.push(key);
}
}
for (const [key,value] of map2){
if(!map1.has(key)&&value==1){
arr.push(key);
}
}
return arr;
};