首页 > 解决方案 > 在一对重复的字母之间添加一个字母 C#

问题描述

我想在一对重复的字母之间添加一个“X”,例如,如果它是“SSM”,我希望它是“SX”和“SM”,这就是我所做的,但它没有添加'X',我该如何解决?len 是“SSM”

 for (int i = 0; i < len.Length - 1; i++)
            {

            if (len[i] == len[i + 1])
            {
                Nlen += 'X';
            }
        }

Stringbuilders 将要求我在我的代码中进行大量更改,我如何在不使用 stringbuilders 的情况下解决它们?

标签: c#duplicates

解决方案


这是一个简单的方法:

var chars = input.ToList();
for (var index = input.Length - 1; index > 0; index--)
{
    if (chars[index] == chars[index - 1])
        chars.Insert(index, 'X');
}
return new string(chars.ToArray());

SSM => SXSM
SSSM => SXSXSM


推荐阅读