884. 两句话中的不常见单词

题目

给定两个句子 AB 。 (句子是一串由空格分隔的单词。每个单词仅由小写字母组成。)

如果一个单词在其中一个句子中只出现一次,在另一个句子中却没有出现,那么这个单词就是不常见的

返回所有不常用单词的列表。

您可以按任何顺序返回列表。

示例1:

1
2
输入:A = "this apple is sweet", B = "this apple is sour"
输出:["sweet","sour"]

示例2:

1
2
输入:A = "apple apple", B = "banana"
输出:["banana"]

提示:

  1. 0 <= A.length <= 200
  2. 0 <= B.length <= 200
  3. AB 都只包含空格和小写字母。

解法

解法一:

两个字符串拼接位一个字符串,找到出现一次的字符串即可

java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public String[] uncommonFromSentences(String A, String B) {
Map<String, Integer> map = new HashMap<>();
String[] ss = (A + " " + B).split(" ");
for (String s : ss) {
map.put(s, map.getOrDefault(s, 0) + 1);
}

ArrayList<String> list = new ArrayList<>();
for (Map.Entry<String, Integer> entry : map.entrySet()) {
if (1 == entry.getValue()) {
list.add(entry.getKey());
}
}

return list.toArray(new String[list.size()]);
}
0%