1941 检查是否所有字符出现次数相同
作者:互联网
题目描述
给你一个字符串 s ,如果 s 是一个 好 字符串,请你返回 true ,否则请返回 false 。
如果 s 中出现过的 所有 字符的出现次数 相同 ,那么我们称字符串 s 是 好 字符串。
示例 1:
输入:s = “abacbc”
输出:true
解释:s 中出现过的字符为 ‘a’,‘b’ 和 ‘c’ 。s 中所有字符均出现 2 次。
示例 2:
输入:s = “aaabb”
输出:false
解释:s 中出现过的字符为 ‘a’ 和 ‘b’ 。
‘a’ 出现了 3 次,‘b’ 出现了 2 次,两者出现次数不同。
提示:
1 <= s.length <= 1000
s 只包含小写英文字母。
方法1:
主要思路:解题链接汇总
(1)直接使用数组统计每个字符出现的次数;
(2)然后判断出现过的字符的个数是否相同;
class Solution {
public:
bool areOccurrencesEqual(string s) {
if(s.size()<2){
return true;
}
vector<int> signs(26,0);
for(char ch:s){
signs[ch-'a']++;
}
int count=-1;
for(int i=0;i<26;i++){
if(signs[i]==0){
continue;
}
if(count==-1){
count=signs[i];
}else if(count!=signs[i]){
return false;
}
}
return true;
}
};
go语言实现
func areOccurrencesEqual(s string) bool {
if len(s)<2 {
return true
}
signs := make([]int,26)
for _,ch := range s {
signs[ch-'a']++
}
count := -1
for i:=0;i<26;i++ {
if signs[i]==0 {
continue
}
if count==-1 {
count=signs[i]
}else if count!=signs[i] {
return false
}
}
return true
}
标签:count,字符,return,1941,次数,signs,false,true 来源: https://blog.csdn.net/weixin_44171872/article/details/119236687