1941. 检查是否所有字符出现次数相同
大约 1 分钟
1941. 检查是否所有字符出现次数相同
- 标签:哈希表、字符串、计数
- 难度:简单
题目链接
题目大意
描述:给定一个字符串 。如果 中出现过的所有字符的出现次数相同,那么我们称字符串 是「好字符串」。
要求:如果 是一个好字符串,则返回 True
,否则返回 False
。
说明:
- 。
- 只包含小写英文字母。
示例:
- 示例 1:
输入:s = "abacbc"
输出:true
解释:s 中出现过的字符为 'a','b' 和 'c' 。s 中所有字符均出现 2 次。
- 示例 2:
输入:s = "aaabb"
输出:false
解释:s 中出现过的字符为 'a' 和 'b' 。
'a' 出现了 3 次,'b' 出现了 2 次,两者出现次数不同。
解题思路
思路 1:哈希表
- 使用哈希表记录字符串 中每个字符的频数。
- 然后遍历哈希表中的键值对,检测每个字符的频数是否相等。
- 如果发现频数不相等,则直接返回
False
。 - 如果检查完发现所有频数都相等,则返回
True
。
思路 1:代码
class Solution:
def areOccurrencesEqual(self, s: str) -> bool:
counter = Counter(s)
flag = -1
for key in counter:
if flag == -1:
flag = counter[key]
else:
if flag != counter[key]:
return False
return True
思路 1:复杂度分析
- 时间复杂度:。
- 空间复杂度:。