谁能帮助我找到最有效的方式来按字母顺序在给定的字符串中打印字符出现以及该字符?
我可以计算字符串中字符的出现,但不能按字母顺序对其进行排序。
string OutputString = string.Empty;
int count = 1;
char[] charArr = inputString.ToCharArray();
for (int i = 0; i < charArr.Length; i++) {
for (int j = i + 1; j < charArr.Length; j++) {
if (charArr[i] == charArr[j])
count++;
}
if (!OutputString.Contains(charArr[i]))
OutputString += charArr[i].ToString() + count.ToString();
count = 1;
}
OutputString = string.Concat(OutputString.OrderBy(c => c));
Run Code Online (Sandbox Code Playgroud)
假设输入字符串在 xgdgyd
输出应为:
d2g2x1y1.
Run Code Online (Sandbox Code Playgroud)