You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#不使用LINQ实现统计字符串中重复字符的出现次数

C# 无LINQ实现字符串重复字符频次统计

需求说明

给定一个C#字符串,统计其中所有出现次数大于1的重复字符各自的出现频次,要求解决方案不得使用LINQ。

示例

输入字符串:

string str = "abcdzefazz"; 

预期输出:

Character a has 2 occurrences. 
Character z has 3 occurrences.

实现代码

using System;
using System.Collections.Generic;

class CharCountDemo
{
    static void Main()
    {
        string inputStr = "abcdzefazz";
        Dictionary<char, int> charCounter = new Dictionary<char, int>();

        // 遍历字符串统计所有字符出现次数
        foreach (char c in inputStr)
        {
            if (charCounter.ContainsKey(c))
            {
                charCounter[c]++;
            }
            else
            {
                charCounter.Add(c, 1);
            }
        }

        // 输出出现次数大于1的重复字符
        foreach (var countItem in charCounter)
        {
            if (countItem.Value > 1)
            {
                Console.WriteLine($"Character {countItem.Key} has {countItem.Value} occurrences.");
            }
        }
    }
}

补充说明

  • 单次遍历字符串完成统计,时间复杂度为O(n),n为输入字符串长度
  • 全程未调用LINQ相关API,符合要求
  • 默认大小写敏感统计,如有忽略大小写的需求,可在遍历字符时统一转成大写/小写后再存入字典

内容的提问来源于stack exchange,提问作者Boris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 22:36:03