Theo phép đảo chữ, một chuỗi khác sẽ có các ký tự giống như trong chuỗi đầu tiên, nhưng thứ tự của các ký tự có thể khác nhau.
Ở đây, chúng tôi đang kiểm tra hai chuỗi sau -
string str1 = "silent"; string str2 = "listen";
Chuyển cả hai chuỗi thành mảng ký tự -
char[] ch1 = str1.ToLower().ToCharArray(); char[] ch2 = str2.ToLower().ToCharArray();
Bây giờ, hãy sắp xếp chúng -
Array.Sort(ch1); Array.Sort(ch2);
Sau khi sắp xếp, hãy chuyển chúng thành chuỗi -
string val1 = new string(ch1); string val2 = new string(ch2);
So sánh cả hai chuỗi cho bằng nhau. Nếu cả hai đều bằng nhau, điều đó có nghĩa là chúng là từ đảo ngữ.
Sau đây là mã -
Ví dụ
using System; public class Demo { public static void Main () { string str1 = "silent"; string str2 = "listen"; 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"); } } }
Đầu ra
Both the strings are Anagrams