প্রথমত, চেক করার জন্য স্ট্রিং সেট করুন।
string s = "timetime";
এখন স্ট্রিংয়ের দুটি অর্ধেক জন্য দুটি কাউন্টার সেট করুন।
int []one = new int[MAX_CHAR]; int []two = new int[MAX_CHAR];
স্ট্রিং এর উভয় অর্ধেক জন্য পরীক্ষা করুন.
for (int i = 0, j = l - 1; i < j; i++, j--) { one[str[i] - 'a']++; two[str[j] - 'a']++; }
স্ট্রিং এর উভয় অর্ধে একই অক্ষর সেট আছে কি না তা পরীক্ষা করার জন্য নিচের সম্পূর্ণ কোডটি C# এ আছে।
উদাহরণ
using System; class Demo { static int MAX_CHAR = 26; static bool findSameCharacters(string str) { int []one = new int[MAX_CHAR]; int []two = new int[MAX_CHAR]; int l = str.Length; if (l == 1) return true; for (int i = 0, j = l - 1; i < j; i++, j--) { one[str[i] - 'a']++; two[str[j] - 'a']++; } for (int i = 0; i < MAX_CHAR; i++) if (one[i] != two[i]) return false; return true; } public static void Main() { string str = "timetime"; if (findSameCharacters(str)) Console.Write("Yes: Two halves are same!"); else Console.Write("No! Two halves are not same!"); } }
আউটপুট
Yes: Two halves are same!