给你一个字符串 s ,如果 s 是一个 好 字符串,请你返回 true ,否则请返回 false 。如果 s 中出现过的 所有 字符的出现次数 相同 ,那么我们称字符串 s 是 好 字符串。
链接:1941. 检查是否所有字符出现次数相同
解题思路:
第一种:使用vector记录
class Solution {
public:
bool areOccurrencesEqual(string s) {
vector<int> a(26,0);
for(int i=0;i<s.size();i++){
a[s[i]-'a']++;
}
int ma=a[s[0]-'a'];
for(int i=1;i<s.size();i++){
if(ma!=a[s[i]-'a']) return false;
}
return true;
}
};
第二种:使用map记录
class Solution {
public:
bool areOccurrencesEqual(string s) {
unordered_map<int,int>cnt;
for(auto temp:s) cnt[temp]++;
int ma=cnt[s[0]];
for(auto temp:cnt){
if(ma!=temp.second) return false;
}
return true;
}
};