可以使用字典来记录每个字符的频率,然后根据频率和字符进行排序。以下是一个示例代码:
def frequencySort(s):
# 使用字典记录每个字符的频率
freq = {}
for char in s:
freq[char] = freq.get(char, 0) + 1
# 根据频率和字符进行排序
sorted_freq = sorted(freq.items(), key=lambda x: (x[1], x[0]))
# 构建排序后的字符串
sorted_str = ""
for char, count in sorted_freq:
sorted_str += char * count
return sorted_str
# 测试示例
s = "tree"
print(frequencySort(s)) # 输出 "eert"
s = "cccaaa"
print(frequencySort(s)) # 输出 "aaaccc"
s = "Aabb"
print(frequencySort(s)) # 输出 "bbAa"
在上述代码中,首先使用一个字典freq来记录每个字符的频率。然后使用sorted函数对字典按照频率和字符进行排序。最后,根据排序后的频率和字符构建排序后的字符串。
上一篇:按字符排序WP对象
下一篇:按字符匹配和字符串长度分组