[leetcode] 884. Uncommon Words from Two Sentences

题目:

We are given two sentences A and B.  (A sentence is a string of space separated words.  Each word consists only of lowercase letters.)

A word is uncommon if it appears exactly once in one of the sentences, and does not appear in the other sentence.

Return a list of all uncommon words. 

You may return the list in any order.

Example 1:

Input: A = "this apple is sweet", B = "this apple is sour"
Output: ["sweet","sour"]

Example 2:

Input: A = "apple apple", B = "banana"
Output: ["banana"]

Note:

  1. 0 <= A.length <= 200
  2. 0 <= B.length <= 200
  3. A and B both contain only spaces and lowercase letters.

代码:

class Solution {
    public String[] uncommonFromSentences(String A, String B) {
        String[] sa = A.split(" ");
        String[] sb = B.split(" ");
        List<String> all = new ArrayList<String>(Arrays.asList(sa));
        all.addAll(Arrays.asList(sb));
        
        List<String> list = new ArrayList<>();
        Set<String> set = new HashSet<>();
        set.addAll(all);
        Iterator<String> it = set.iterator();
        
        while(it.hasNext()){
            String temp = it.next();
            if(Collections.frequency(all, temp) == 1){
                list.add(temp);
            }
        }
        
        return list.toArray(new String[0]);
        
    }
}

猜你喜欢

转载自blog.csdn.net/jing16337305/article/details/82557639