为了简化计算,可以将两个 String 串用空格拼接起来 String[] ab = (s1+" "+s2).split(" ");
遍历单词,将单词和出现的次数 put 进去
1 2 3 4
Map<String, Integer> map = new HashMap<>(); for (String i: ab){ map.put(i,map.getOrDefault(i,0)+1); }
然后统计出只出现一次的单词
1 2 3 4 5 6
List<String> list = new ArrayList<>(); for (String key:map.keySet()){ if (map.get(key)==1){ list.add(key); } }
最后返回结果
1 2
String[] ans = new String[list.size()]; return list.toArray(ans);
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
public String[] uncommonFromSentences(String s1, String s2) { String[] ab = (s1+" "+s2).split(" "); Map<String, Integer> map = new HashMap<>(); for (String i: ab){ map.put(i,map.getOrDefault(i,0)+1); } List<String> list = new ArrayList<>(); for (String key:map.keySet()){ if (map.get(key)==1){ list.add(key); } } String[] ans = new String[list.size()]; return list.toArray(ans); }