如何使用 C# 在没有内置函数的情况下返回第一个唯一字符的索引?
创建一个长度为256的空新数组,逐个字符遍历整个字符串并递增新数组中的值。最后遍历整个数组并返回值为1的第一个字符。
示例1
aabccd-→2121→返回第一个计数为1的字符,即b。
示例2
using System;
namespace ConsoleApplication{
public class Arrays{
public int ReturnIndexOfFirstUniqueCharachter(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 index;
}
}
class Program{
static void Main(string[] args){
Arrays a = new Arrays();
Console.WriteLine(a.ReturnIndexOfFirstUniqueCharachter("bookisgreat"));
Console.ReadLine();
}
}
}输出结果0
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短