class Solution {    public List<String> commonChars(String[] A) {        List<String> ans = new ArrayList<>();        if (A == null || A.length == 0)            return ans;        int[] hash = new int[26];        for (int i = 0; i < A[0].length(); i++) {            ++hash[A[0].charAt(i) - 'a'];        }        int[] other = new int[26];        for (int i = 1; i < A.length; i++) {            Arrays.fill(other, 0);            for (int j = 0; j < A[i].length(); j++) {                ++other[A[i].charAt(j) - 'a'];            };            for (int index = 0; index < 26; index++) {                hash[index] = Math.min(hash[index], other[index]);            }        }        for (int i = 0; i < 26; i++) {            while (hash[i] != 0) {                ans.add(new String("" + (char)('a' + i)));                --hash[i];            }        }        return ans;    }}