Tạo một mảng mới trống có độ dài 256, duyệt qua toàn bộ chuỗi ký tự theo từng ký tự và tăng giá trị trong mảng mới. Cuối cùng, duyệt qua toàn bộ mảng và trả về ký tự đầu tiên có giá trị 1.
Ví dụ 1
aabccd - → 2 1 2 1 → Trả về ký tự đầu tiên có số đếm 1. Đó là b bằng cách trừ với các giá trị ascii.
Ví dụ 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(); } } }
Đầu ra
k