如何使用 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

更新於: 22-6-2020

超過 1K 次觀看

開啟你的職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.