c# - 在一对重复的字母之间添加一个字母 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 的情况下解决它们?
解决方案
这是一个简单的方法:
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
推荐阅读
- c - 如何判断 ELF 二进制文件是否是用 BINDNOW 构建的?
- javascript - 获取最近的坐标对象的id
- c# - 生成一维整数数组,数组长度为 10,范围从 1 到 20
- zsh - 带有 Powerlevel10k 的 ZSH 在终端启动时不起作用
- mysql - 使用用户定义的变量动态命名第二个数据库以将表与第二个数据库连接起来
- github-actions - 如何在发布时在 github 操作中获取目标分支
- java - 使用 String.format 时如何打印不带引号的 null
- python - 有什么方法可以将 Tensorflow 数据集连接到 plaidML-keras 以使用 GPU 进行深度学习?
- reactjs - 编辑表格中的特定单元格
- codeblocks - Code::Blocks 中的 wxWidgets 字体错误“assert”numWeight > 0“在 GetWeightClosestToNumericValue() 中失败”