สำหรับแอนนาแกรม สตริงอื่นจะมีอักขระเหมือนกันในสตริงแรก แต่ลำดับของอักขระอาจแตกต่างกัน
เรากำลังตรวจสอบสองสตริงต่อไปนี้ -
string str1 = "heater"; string str2 = "reheat";
แปลงสตริงทั้งสองเป็นอาร์เรย์อักขระ -
char[] ch1 = str1.ToLower().ToCharArray(); char[] ch2 = str2.ToLower().ToCharArray();
ตอนนี้ จัดเรียงพวกมัน -
Array.Sort(ch1); Array.Sort(ch2);
หลังจากจัดเรียงแล้ว ให้แปลงเป็นสตริงตามที่แสดงในโค้ดต่อไปนี้ −
ตัวอย่าง
using System;
public class Demo {
public static void Main () {
string str1 = "heater";
string str2 = "reheat";
char[] ch1 = str1.ToLower().ToCharArray();
char[] ch2 = str2.ToLower().ToCharArray();
Array.Sort(ch1);
Array.Sort(ch2);
string val1 = new string(ch1);
string val2 = new string(ch2);
if (val1 == val2) {
Console.WriteLine("Both the strings are Anagrams");
} else {
Console.WriteLine("Both the strings are not Anagrams");
}
}
} ผลลัพธ์
Both the strings are Anagrams