如何使用 C# 检查两个字符串是否为彼此的字谜?
csharpprogrammingserver side programming更新于 2025/5/24 10:22:17
在字谜下,另一个字符串将具有第一个字符串中存在的相同字符,但字符顺序可以不同。
在这里,我们检查以下两个字符串 −
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