We are given two sentences A
and B
. (A sentence is a string of space separated words. Each word consists only of lowercase letters.)java
A word is uncommon if it appears exactly once in one of the sentences, and does not appear in the other sentence.app
Return a list of all uncommon words. this
You may return the list in any order.spa
Example 1:code
Input: A = "this apple is sweet", B = "this apple is sour" Output: ["sweet","sour"]
Example 2:leetcode
Input: A = "apple apple", B = "banana" Output: ["banana"]
Note:get
0 <= A.length <= 200
0 <= B.length <= 200
A
and B
both contain only spaces and lowercase letters.題目地址string
用hashmap記錄每個單詞hash
class Solution { private Map<String, Integer> map = new HashMap<>(); public String[] uncommonFromSentences(String A, String B) { List<String> result = new ArrayList<>(); countString(A); countString(B); for(String key:map.keySet()){ if(map.get(key)==1){ result.add(key); } } String[] str = new String[result.size()]; return result.toArray(str); } private void countString(String A){ int index=0; for(int i=0;i<A.length();i++){ if(A.charAt(i)==' '){ Integer count = map.get(A.substring(index, i)); if(count==null){ map.put(A.substring(index, i), 1); }else{ map.put(A.substring(index, i), count+1); } if(i+1<A.length()){ index = i+1; } }else if(i==A.length()-1){ Integer count = map.get(A.substring(index)); if(count==null){ map.put(A.substring(index), 1); }else{ map.put(A.substring(index), count+1); } } } } }