领扣(LeetCode)两句话中的不常见单词 个人题解

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

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

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

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

示例 1:

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

示例 2:

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


这个题比较简单,把两个字符串串在一起,根据空格分离开单词,根据题意,只出现一次的单词就是不常见的单词。使用一个HashMap就能快速解决问题了。

代码如下:

 1 class Solution {
 2     public String[] uncommonFromSentences(String A, String B) {
 3         Map<String, Integer> map=new HashMap<>();
 4         String newstr=A+" "+B;
 5         String[] getsplit=newstr.split(" ");
 6         for (String string : getsplit) {
 7             if(!map.containsKey(string))
 8                 map.put(string, 1);
 9             else
10                 map.put(string, map.get(string)+1);
11         }
12         List<String> list=new ArrayList<>();
13         
14         for (String string : map.keySet()) {
15             if(map.get(string)==1)
16                 list.add(string);
17         }
18         return  list.toArray(new String[list.size()]);
19     }
20 }
原文地址:https://www.cnblogs.com/axiangcoding/p/10092071.html