Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

จะตรวจสอบว่าสตริงสองสตริงเป็นแอนนาแกรมของกันและกันโดยใช้ C # ได้อย่างไร


ภายใต้แอนนาแกรม สตริงอื่นจะมีอักขระเหมือนกันในสตริงแรก แต่ลำดับของอักขระอาจแตกต่างกัน

เรากำลังตรวจสอบสองสตริงต่อไปนี้ -

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);

เปรียบเทียบทั้งสองสายเพื่อความเท่าเทียมกัน หากทั้งคู่เท่ากัน แสดงว่าเป็นแอนนาแกรม

ต่อไปนี้เป็นรหัส −

ตัวอย่าง

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");
      }
   }
}

ผลลัพธ์

Both the strings are Anagrams