当前位置: 面试刷题>> 字符计数 (经典算法题500道)


### 题目描述补充 题目:**字符计数** 给定一个字符串,统计并返回该字符串中每个字符出现的次数。字符的计数需要忽略大小写,并且结果应该按照字符的字典序进行排序。 ### 示例 输入字符串:"Hello, World!" 输出(按字典序排序): ``` { ' ': 1, ',': 1, 'd': 1, 'e': 1, 'h': 1, 'l': 3, 'o': 2, 'r': 1, 'w': 1, '!': 1 } ``` ### PHP 示例代码 ```php ``` ### Python 示例代码 ```python def char_count(s): counts = {} for char in s.lower(): # 忽略大小写 if char.isalnum() or char.isspace() or char.ispunct(): # 只考虑字母数字、空格和标点符号 if char not in counts: counts[char] = 0 counts[char] += 1 return dict(sorted(counts.items())) # 返回按字典序排序的字典 input_str = "Hello, World!" result = char_count(input_str) print(result) ``` ### JavaScript 示例代码 ```javascript function charCount(str) { const counts = {}; str.toLowerCase().split('').forEach(char => { if (/[a-z\d\s,.!?]/.test(char)) { // 只考虑字母、数字、空格、常见标点符号 if (!counts[char]) { counts[char] = 0; } counts[char]++; } }); return Object.keys(counts).sort().reduce((acc, key) => { acc[key] = counts[key]; return acc; }, {}); // 按字典序排序后重新组装对象 } const input = "Hello, World!"; const result = charCount(input); console.log(JSON.stringify(result, null, 2)); ``` ### 附加信息 码小课网站中有更多关于算法和数据结构的内容分享给大家学习,涵盖了从基础到进阶的各种编程知识和技巧,欢迎大家访问学习。
推荐面试题