如何使用 C# 在不使用内置函数的情况下返回第一个唯一字符?
创建一个长度为256的空新数组,逐个字符遍历整个字符串并递增新数组中的值。最后遍历整个数组并返回值为1的第一个字符。
示例1
aabccd-→2121→返回计数为1的第一个字符。即b通过与ascii值相减。
示例2
using System;
namespace ConsoleApplication{
public class Arrays{
public char ReturnCharacterOfFirstUniqueCharachter(string s){
int index = -1;
int[] arrayValues = new int[256];
for (int i = 0; i < s.Length; i++){
int value = s[i] - 'a';
arrayValues[value] += 1;
}
for (int i = 0; i < s.Length; i++){
int value = s[i] - 'a';
if (arrayValues[value] == 1){
index = i;
break;
}
}
return s[index];
}
}
class Program{
static void Main(string[] args){
Arrays a = new Arrays();
Console.WriteLine(a.ReturnCharacterOfFirstUniqueCharachter("bbookisgreat"));
Console.ReadLine();
}
}
}输出结果k
热门推荐
10 晚安幽默祝福语简短
11 回家祝福语简短老师发言
12 朋友之间祝福语大全简短
13 日常祝福语简短给老师
14 妹妹生日宴祝福语简短
15 中秋给爸妈祝福语简短
16 朋友公司怎么祝福语简短
17 感谢朋友的祝福语简短
18 英语寄信祝福语范文简短