Computer >> Máy Tính >  >> Lập trình >> C#

Làm thế nào để kiểm tra xem hai Chuỗi có phải là đảo ngữ của nhau hay không bằng cách sử dụng C #?

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