zoukankan      html  css  js  c++  java
  • Anagrams

    Anagrams

    问题:

    Given an array of strings, return all groups of strings that are anagrams.

    Note: All inputs will be in lower-case.

    思路:

      Anagrams:排序后的String作为Key值

    public class Solution {
        public List<String> anagrams(String[] strs) {
            List<String> list = new ArrayList<String>();
            if(strs == null || strs.length == 0)    return list;
            HashMap<String, List<String>> hashMap = new HashMap<String,List<String>>();
            for(int i = 0; i < strs.length; i++)
            {
                String val = strs[i];
                char[] array = val.toCharArray();
                Arrays.sort(array);
                String key = new String(array);
                if(hashMap.containsKey(key))
                {
                    hashMap.get(key).add(val);
                }
                else
                {
                    List<String> tmp = new ArrayList();
                    tmp.add(val);
                    hashMap.put(key, tmp);
                }
                    
            }
            for(String key: hashMap.keySet())
            {
                List<String> tmp = hashMap.get(key);
                if(tmp.size() > 1)
                {
                    list.addAll(tmp);
                }
            }
            return list;
        }
    }
    View Code
  • 相关阅读:
    操作系统简介
    计算机基础
    Django之form
    CMDB资产采集
    Git
    User model
    多级评论
    个人主页
    media路径设置
    Web框架
  • 原文地址:https://www.cnblogs.com/sunshisonghit/p/4339944.html
Copyright © 2011-2022 走看看