//给你一个字符串数组 words（下标 从 0 开始 计数）。 
//
// 在一步操作中，需先选出两个 不同 下标 i 和 j，其中 words[i] 是一个非空字符串，接着将 words[i] 中的 任一 字符移动到 
//words[j] 中的 任一 位置上。 
//
// 如果执行任意步操作可以使 words 中的每个字符串都相等，返回 true ；否则，返回 false 。 
//
// 
//
// 示例 1： 
//
// 输入：words = ["abc","aabc","bc"]
//输出：true
//解释：将 words[1] 中的第一个 'a' 移动到 words[2] 的最前面。
//使 words[1] = "abc" 且 words[2] = "abc" 。
//所有字符串都等于 "abc" ，所以返回 true 。
// 
//
// 示例 2： 
//
// 输入：words = ["ab","a"]
//输出：false
//解释：执行操作无法使所有字符串都相等。
// 
//
// 
//
// 提示： 
//
// 
// 1 <= words.length <= 100 
// 1 <= words[i].length <= 100 
// words[i] 由小写英文字母组成 
// 
// Related Topics 哈希表 字符串 计数 👍 4 👎 0

package leetcode.editor.cn;

//1897:重新分配字符使所有字符串都相等
class RedistributeCharactersToMakeAllStringsEqual {
    public static void main(String[] args) {
        //测试代码
        Solution solution = new RedistributeCharactersToMakeAllStringsEqual().new Solution();
    }

    //力扣代码
    //leetcode submit region begin(Prohibit modification and deletion)
    class Solution {
        public boolean makeEqual(String[] words) {
            int[] count = new int[26];
            int size = words.length;
            for (String word : words) {
                for (char ch : word.toCharArray()) {
                    count[ch - 'a']++;
                }
            }
            for (int i = 0; i < 26; i++) {
                if (count[i] % size > 0) {
                    return false;
                }
            }
            return true;
        }
    }
//leetcode submit region end(Prohibit modification and deletion)

}