LeetCode

查找常用字符

2019-06-12  本文已影响0人  习惯了_就好

给定仅有小写字母组成的字符串数组 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] 是小写字母
class Solution {
    public List<String> commonChars(String[] A) {
        List<String>result = new ArrayList();
        int length = A.length;
        String firstStr = A[0];
        int strLength = firstStr.length();
        for(int i = 0; i < strLength; i++){
                String indexStr = firstStr.substring(i,i + 1);
                int count = 0;
                for(int j = 1; j < length; j++){
                    String str = A[j];
                    if(str.contains(indexStr)){
                        count++;
                        A[j] = str.replaceFirst(indexStr,"");//有这个字母就清除掉一个
                    } else {
                        break;
                    }
                }
            
                if(count == length -1){//每一个都有
                   result.add(indexStr);
                }
        }
        return result;
    }
}
上一篇下一篇

猜你喜欢

热点阅读