1002-查找常用字符

给定仅有小写字母组成的字符串数组 A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。
你可以按任意顺序返回答案。

示例 1:

输入:["bella","label","roller"]
输出:["e","l","l"]
示例 2:

输入:["cool","lock","cook"]
输出:["c","o"]
 

提示:

1 <= A.length <= 100
1 <= A[i].length <= 100
A[i][j] 是小写字母


public List<String> commonChars(String[] A) {

        if (A==null)
            return null;
        List<String> list=new ArrayList<>();
        char [] a=A[0].toCharArray();
        int x[]=new int[26];
        for (char q:a){
            x[q-'a']++;
        }
        for (int i=1;i<A.length;i++){
            char [] b=A[i].toCharArray();
            int y[]=new int[26];
            for (char q:b){
                y[q-'a']++;
            }
            for (int j=0;j<26;j++){
                x[j]=Math.min(x[j],y[j]);
            }
        }
        for (int i=0;i<26;i++)
        {
            if (x[i]>0){
                for (int j=0;j<x[i];j++){
                    list.add(""+(char) (x[j]+'a'));
                }
            }

        }

        return list;

    }

 

posted @ 2019-05-22 22:12  Dloading  阅读(234)  评论(0编辑  收藏  举报