【Leetcode】884. Uncommon Words from Two Sentences

题目地址:

https://leetcode.com/problems/uncommon-words-from-two-sentences/

给定两个英文句子(句子的定义是由空格分开的英文单词组成的字符串)。问只出现过一次的单词有哪些。

直接用哈希表计数即可。代码如下:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Solution {
     
    public String[] uncommonFromSentences(String A, String B) {
     
        Map<String, Integer> map = new HashMap<>();
        for (String s : A.split(" ")) {
     
            map.put(s, map.getOrDefault(s, 0) + 1);
        }
    
        for (String s : B.split(" ")) {
     
            map.put(s, map.getOrDefault(s, 0) + 1);
        }
        
        List<String> list = new ArrayList<>();
        for (Map.Entry<String, Integer> entry : map.entrySet()) {
     
            if (entry.getValue() == 1) {
     
                list.add(entry.getKey());
            }
        }
        
        String[] res = new String[list.size()];
        for (int i = 0; i < res.length; i++) {
     
            res[i] = list.get(i);
        }
        
        return res;
    }
}

时空复杂度 O ( l A + l B ) O(l_A+l_B) O(lA+lB) A A A B B B分别代表两个字符串。

你可能感兴趣的:(#,栈,队列,串及其他数据结构,字符串,leetcode,hashmap,哈希)