如何在不使用 C# 内置函数的情况下返回第一个唯一字符?
csharpserver side programmingprogramming更新于 2025/6/27 19:52:17
创建一个长度为 256 的新空数组,逐个字符遍历整个字符串,并递增新数组中的值。最后遍历整个数组并返回第一个值为 1 的字符。
示例 1
aabccd -→2 1 2 1 → 返回第一个计数为 1 的字符。即用 ASCII 值减去 b。
示例 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

