LeetCode--Subdomain Visit Count

Ideas:

    Traverse all strings in the array, map each string, count the number of times, and finally convert it into a list.

class Solution {
    public List<String> subdomainVisits(String[] cpdomains) {
        Map<String,Integer> res=new HashMap<String,Integer>();
        for(String str:cpdomains){
            int count=Integer.parseInt(str.split(" ")[0]);
            String domain=str.split(" ")[1];
            String[] domains=domain.split("\\.");
            String tmp_domain="";
            for(int i=domains.length-1;i>=0;i--){
                tmp_domain=domains[i]+(tmp_domain.equals("")?tmp_domain:"."+tmp_domain);
                if(!res.containsKey(tmp_domain)){
                    res.put(tmp_domain,count);
                }
                else{
                    res.put(tmp_domain,res.get(tmp_domain)+count);
                }
            }
        }

        List result=new ArrayList<String>();
        for(String key:res.keySet()){
            result.add(res.get(key)+" "+key);
        }

        return result;
    }
}

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325652528&siteId=291194637