给定两个句子 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 }