如何使用 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
廣告
資料結構
網路技術
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP