如何使用 C# 返回第一個唯一字元,且不使用內建函式?


建立一個長度為 256 的空新陣列,逐個字元遍歷整個字串並遞增新陣列中的值。最後,遍歷整個陣列並返回第一個值為 1 的字元。

示例 1

aabccd -→ 2 1 2 1 → 返回第一個值為 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

更新於: 27-8-2021

173 次瀏覽

開啟你的 職業生涯

完成課程即可獲得認證

開始學習
廣告