原题链接
整个Map,把两句话都遍历一遍,然后Push到Map里面,最后如果记数超过两次了,就说明是重复出现过了,那就是常见的单词,只出现了一次那就是不常见的单词了,组成数组之后返回就行了。
代码如下:
C++的String和数组语法不太会用,这次用的Java
class Solution {
public String[] uncommonFromSentences(String s1, String s2) {
Map<String, Integer> map = new HashMap<>();
String str = s1 + " " + s2;
String[] ss = str.split(" ");
for(String s : ss)
map.put(s, map.getOrDefault(s, 0) + 1);
List<String> list = new ArrayList<>();
for (String s : map.keySet()) if (map.get(s) == 1) list.add(s);
return list.toArray(new String[list.size()]);
}
}