luoheng
10/11/2019 - 7:11 AM

commonChars

func commonChars(A []string) []string {
    hash := [26]int{}
    for i := 0; i < len(hash); i++ {
        hash[i] = len(A)
    }
    for _, a := range A {
        h := [26]int{}
        for i := 0; i < len(a); i++ {
            h[a[i]-'a']++
        }
        for i := 0; i < len(h); i++ {
            if h[i] < hash[i] {
                hash[i] = h[i]
            }
        }
    }
    res := make([]string, 0, 26)
    for i := 0; i < len(hash); i++ {
        for hash[i] != 0 {
            res = append(res, string('a'+byte(i)))
            hash[i]--
        }
    }
    return res
}