static void Main(string[] args)
{
Console.WriteLine("请输入一行字符:");
string str = Console.ReadLine();
if (str.Length <= 1)
{
Console.WriteLine($"过滤后的结果如下:{str}");
Console.WriteLine($"重复字数最多的字符为“{str.FirstOrDefault()}”,其重复{str.Length}次。");
}
string newStr = ""+str[0];
int left = 0;
char leftChar = str[0];
int max = 0;
char maxChar = str[0];
for(int right = 1; right< str.Length; right++)
{
var nowChar = str[right];
if (nowChar.Equals(leftChar))
{
if(max< right- left)
{
max = right - left;
maxChar = nowChar;
}
}
else
{//左边坐标移动
left= right;
leftChar = nowChar;
newStr += nowChar;
}
}
Console.WriteLine($"过滤后的结果如下:{newStr}");
Console.WriteLine($"重复字数最多的字符为“{maxChar}”,其重复{max + 1}次。");
}
测试结果: